OpenID 连接会话管理 - 可以撤销 ID 令牌吗?

OpenID Connection session management - can ID token be revoked?

在 OpenID Connect 中,ID 令牌是一种加密签名的自包含令牌,它允许资源所有者在不调用授权服务器的情况下授权访问。那么,如果授权服务器不需要验证令牌,那么如何在会话管理场景中撤销它呢?似乎唯一可以撤销的是刷新令牌,此时 ID 令牌刚刚过期,用户将不得不重新进行身份验证。这个对吗?此外,OpenID Connect Provider/Server 在传递令牌时完全存储令牌是否有意义?

由于您提到的原因,id_token 无法显式撤销:它是独立的,可以在不依赖于 Provider 的情况下使用。但是,Web 应用程序中的典型用法是在接收到时使用 id_token 创建应用程序会话,将来自 id_token 的相关信息存储在会话中,然后丢弃 id_token 本身.该应用程序会话可以根据提供者的请求通过实施 OpenID Connect 会话管理扩展来终止,请参阅:https://openid.net/specs/openid-connect-session-1_0.html。在此 Web SSO 用例中,id_token 生命周期将受到限制,因为它仅供一次性使用。