Cookies 如何将单点注销和无状态身份验证结合起来
我正在尝试添加一个基于SAML的单点登录/单点注销解决方案,以允许一个混合的基于web的应用程序生态系统,给最终用户留下他们正在与单个应用程序交互的印象 实现这一点的标准方法似乎是让IdP管理用户身份验证(建立IdP会话),然后根据需要发出已签名的SAML登录请求,以在每个组件应用程序中建立会话 可以通过使用SAML Single Sign Off来处理签准,其中,在签准时,IdP向每个服务提供商发出反向通道调用以使会话无效 这适用于传统的基于状态会话的应用程序,但我正在尝试解决如何集成使用无状态JWT令牌代替服务器端会话的应用程序 sign-on部分的工作原理是等价的,我们只是发出一个JWT来响应SAML sign-on,而不是建立一个传统的会话。只需删除cookie即可注销单个服务 但是有没有办法实现单点注销流程?我能看到的唯一方法是:Cookies 如何将单点注销和无状态身份验证结合起来,cookies,single-sign-on,logout,stateless,Cookies,Single Sign On,Logout,Stateless,我正在尝试添加一个基于SAML的单点登录/单点注销解决方案,以允许一个混合的基于web的应用程序生态系统,给最终用户留下他们正在与单个应用程序交互的印象 实现这一点的标准方法似乎是让IdP管理用户身份验证(建立IdP会话),然后根据需要发出已签名的SAML登录请求,以在每个组件应用程序中建立会话 可以通过使用SAML Single Sign Off来处理签准,其中,在签准时,IdP向每个服务提供商发出反向通道调用以使会话无效 这适用于传统的基于状态会话的应用程序,但我正在尝试解决如何集成使用无状
- 在同一域(或至少子域)上承载所有无状态应用程序
- 注销时,删除该域的所有无状态身份验证cookie,而不仅仅是单个应用程序的cookie
- 清除这些cookie后,触发SAML单点注销流以处理状态完整的应用程序
- -当滥用OAuth时,与我描述的情况类似,但通过建立服务器端状态来验证OAuth令牌以实现注销来解决
- &很好地描述了我渴望启用的无状态身份验证流,但似乎依赖于令牌的共享服务器端存储,或者仅仅依赖于超时,而不是显式注销
如果应用程序(或第三方颁发者)无法撤销令牌,那么您仍然可以通过让令牌过期来实现这一点。这是你可怜的人的令牌失效解决方案。我不太担心令牌继续有效,因为我不(过度)担心撤销,除非用户请求撤销。我主要担心的是,当用户在共享终端上“注销”时,使用相同浏览器的用户无法重新访问其会话。虽然您的答案确实解决了吊销问题,但它需要有效会话标识符的共享存储来验证令牌并允许SAML注销,这正是我希望避免的。谢谢你的回答,你验证了我的想法,没有共享状态,选择是有限的。