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

Ser*_*pov 2 access-token jwt openid-connect

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

Han*_* Z. 6

id_token不能明确撤销的,因为你提到的原因:它是独立的,可以没有对供应商的依赖中.但是,Web应用程序中的典型用法是使用id_token接收时创建应用程序会话,从会话中存储相关信息id_token,然后丢弃id_token自身.应用程序会话可以通过实现OpenID Connect会话管理扩展来终止该应用程序会话,请参阅:https://openid.net/specs/openid-connect-session-1_0.html.在此Web SSO用例中,id_token生命周期将受到限制,因为它仅限一次性使用.

  • 一个人无法使用`refresh_token`获得新的`id_token`,因为`id_token`的语义要求用户存在/认证,即用户必须参与; 向提供商提出新的身份验证请求是可行的方法; 在提供者处,SSO会话可能仍然存在,在这种情况下,生成新的"id_token"而没有明确的用户交互 (2认同)