春季启动 OAuth2 单一注销(注销)
2022-09-03 18:14:20
我正在考虑为我的应用程序使用 OAuth2。我试图实现的架构如下:
- 我将拥有自己的(并且只有这个)授权服务器
- 某些资源应用使用授权服务器验证对其资源的访问
- 某些客户端应用(Web、移动)会将用户重定向到授权服务器进行身份验证,并且在成功后将使用资源应用上的 API。
到目前为止,我已经设法在3个基本应用程序(1个身份验证服务器,1个资源服务器和1个客户端)之间实现了这种交互。我无法正常工作的是注销功能。我已经读过Dave Syer在他的教程中描述的“臭名昭着的棘手问题”,但在这种情况下,我真的需要用户在注销后重新登录。我已尝试为访问令牌和刷新令牌提供几秒钟的时间,但在过期时,我没有提示再次登录,而是在客户端应用上获取了 NPE。我还尝试了本文中提出的解决方案,以从令牌存储中删除令牌,但它不起作用。对我来说,单一签收是此实现的理想行为。我如何使用Spring Boot Oauth2实现这一目标。如果由于某种原因无法实现,我可以使用哪些替代方案来使用Spring Boot实现集中式安全性?
提前致谢。