「应用安全」OAuth和OpenID Connect的全面比较(22)

自包含样式中的繁琐之处在于 , 每次请求访问令牌撤销时 , 我们必须添加表示“已撤销”的记录 , 并且必须保留此类记录 , 直到访问令牌到期为止 。 否则 , 如果删除了记录 , 则撤销的访问令牌将被复活并再次生效(如果尚未达到原始到期日期) 。

相反 , 在随机字符串样式的情况下 , 可以简单地通过删除访问令牌记录本身来实现访问令牌撤销 。 因此 , 由于任何意外 , 撤销访问令牌无法复活 。 此外 , 不会发生在独立风格中观察到的负面影响“撤销增加记录” 。

要启用访问令牌吊销 , 即使在自包含样式的情况下 , 也必须为访问令牌分配唯一标识符 。 否则 , 无法分辨哪个访问令牌已被撤销 。 换句话说 , 授权服务器采用自包含样式但不为访问令牌分配唯一标识符是授权服务器 , 它不能撤销访问令牌 。 它可能是实现策略之一 , 但是这样的授权服务器不应该发出长期访问令牌 , 也不应该发出刷新令牌 。

“无法撤销访问令牌的授权服务器?!” , 您可能想知道 。 但是 , 这种授权确实存在 。 某个全球大型系统集成商收购了一家公司 , 并正在使用被收购公司的产品开发授权服务器 , 但在后期阶段 , 系统集成商及其客户注意到授权服务器无法撤销访问令牌 。 当我听到这个故事时 , 我猜想授权服务器会发出没有唯一标识符的自包含样式的访问令牌 。

推荐阅读