我一直在关注 Dave Syer 教程,SSO with OAuth2,第 5 部分 https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/oauth2
它有 UI/API 网关、资源服务器和授权服务器。 当我从 UI/API 网关应用程序单击注销时,我得到以下信息,enter image description here问题
Dave Syer 教程中当前发生的情况是,当用户单击注销时,它会将身份验证标志更改为 false,使用户看起来似乎已注销,但他们只是从 UI/API 网关应用程序注销。
当用户点击登录时,请记住他们还没有从身份验证服务器注销。因此,用户不会再次经历身份验证和批准周期。
我想要的是,当用户单击注销并尝试再次登录时,用户必须输入用户名和密码。事实上,他们应该重新开始,这意味着系统应该使 session 和/或 token 无效。
我一直在努力寻找解决方案。谁能指出如何解决/实现这一点。
最佳答案
@SuppressWarnings("null")
@RequestMapping(value="/login")
public String login(HttpServletRequest request){
HttpSession session= request.getSession();
SecurityContextHolder.clearContext();
if(session == null) {
session.invalidate();
}
return"login";
}
关于java - Spring boot Security,Oauth2 注销,使 session 无效,以便在授权服务器中完成身份验证和批准周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39082691/