【发布时间】:2017-08-21 15:13:15
【问题描述】:
我正在考虑为我的应用程序使用 OAuth2。我正在尝试实现的架构如下:
- 我将拥有自己的(并且只有这个)授权服务器
- 一些资源应用程序使用授权服务器验证对其资源的访问
- 某些客户端应用程序(Web、移动)会将用户重定向到授权服务器进行身份验证,成功后将使用资源应用程序上的 api。
到目前为止,我已经设法在 3 个基本应用程序(1 个身份验证服务器、1 个资源服务器和 1 个客户端)之间实现了这种交互。我没有工作的是注销功能。我已经阅读了 Dave Syer 在他的教程中描述的"notoriously tricky problem",但在这种情况下,我确实需要用户在注销后重新登录。我尝试给访问令牌和刷新令牌几秒钟,但在到期时没有提示再次登录,而是在客户端应用程序上获得了 NPE。我还尝试了post 中提出的解决方案来从令牌存储中删除令牌,但它不起作用。对我来说,单点注销是此实现的理想行为。如何使用 Spring Boot Oauth2 实现这一点。如果由于某种原因无法实现,我可以使用哪些替代方案来使用 Spring Boot 实现集中式安全性?
提前致谢。
【问题讨论】:
标签: java spring spring-boot spring-security spring-security-oauth2