Spring SSO刷新客户端后持续创建新会话问题求助
Spring Boot OAuth2 SSO服务器:刷新客户端页面时重复创建匿名会话问题
我基于Spring Boot搭建了支持Google和Facebook的OAuth2 SSO授权服务器,参考官方OAuth2示例项目调整后,实现了可扩展的服务器架构,会话存储采用Redis,整体功能运行正常。
最近在实现**单点登出(SSO Logout)**功能时遇到了棘手问题:按照SSO最佳实践,用户从一个客户端登出后,使用同一授权服务器会话的其他客户端也应同步登出。为此我给每个客户端添加了登录成功后调用的端点,用来将客户端名称注册到授权服务器对应的用户会话中。
但测试时发现,每次刷新客户端页面,授权服务器都会创建一个新的会话并存入Redis,旧会话却不会被清理。更奇怪的是,后续排查发现这些新创建的会话都是匿名用户产生的——这导致我处理登出时,始终只能关联到旧的用户会话,根本无法实现跨客户端的同步登出效果。
我已经在网上搜索了各种相关解决方案,但都没能解决这个问题,有没有大佬能帮忙分析原因,或者给点排查方向?
精简版问题
基于Spring Boot实现的支持Facebook的OAuth2 SSO服务器,用户用Facebook账号登录成功后可正常访问客户端资源,但每次刷新客户端页面,授权服务器都会新建一个匿名会话存入Redis,旧会话仍保留。
内容的提问来源于stack exchange,提问作者AttitudeL
相关产品推荐
相关产品推荐

