Open ID Connect中是否有标准机制可以终止活动会话?假设客户端的访问令牌设置为在2分钟内过期。有人从中心位置将用户注销。防止访问令牌在下一次请求时(而不是在令牌过期时(可行的想法。
这将要求Web API在每次请求时都与授权服务器联系,这将导致性能问题。
使用短期访问令牌作为最佳中间立场是标准的。默认情况下,最常见的时间约为30或60分钟。
当审查像这样的领域中的OAuth行为时,值得与旧系统进行比较:
- 不可能以您描述的方式撤销cookie,因此使用基于OAuth 2.0的解决方案不会使安全性恶化
通常可以集中吊销刷新令牌,因此下一次令牌刷新需要新登录。
根据您的具体实现,有几个草稿是有用的:
- https://openid.net/specs/openid-connect-session-1_0.html
- https://openid.net/specs/openid-connect-backchannel-1_0.html
- https://openid.net/specs/openid-connect-frontchannel-1_0.html
一些OIDC产品目前正在使用这些方法:
- https://backstage.forgerock.com/docs/am/6/oidc1-guide/#openam-openid会话管理
- https://www.ibm.com/support/knowledgecenter/SSD28V_liberty/com.ibm.websphere.wlp.core.doc/ae/twlp_oidc_session_mgmt_endpoint.html
- 还有其他几个