在spring boot 2网站中,用户可以决定通过电子邮件/密码(创建帐户后)登录还是使用facebook / google logi(oauth2)
实际上
用户x通过google连接...注销
用户y尝试通过Google连接,但使用用户x会话。
未通过Google完成注销...
我希望注销支持该用例
用户x通过Google连接,退出。
用户y,单击以连接到google,需要输入用户名/密码(不想通过先前的用户进行连接)
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/oauth_login", "/loginFailure", "/", "/logout")
.permitAll()
.anyRequest()
.authenticated()
.and()
.oauth2Login()
.loginPage("/oauth_login")
.authorizationEndpoint()
.baseUri("/oauth2/authorize-client")
.authorizationRequestRepository(authorizationRequestRepository())
.and()
.tokenEndpoint()
.accessTokenResponseClient(accessTokenResponseClient())
.and()
.defaultSuccessUrl("/loginSuccess")
.failureUrl("/loginFailure")
.and()
.logout()
.logoutSuccessUrl("/")
.invalidateHttpSession(true);
}
如果我删除.csrf()。disable(),则会收到403错误。不明白为什么 html注销
<a href="#" onclick="document.getElementById('logoutForm').submit();">Logout</a>
<form id="logoutForm" action="/logout" method="post">
<input hidden type="submit" value="Sign Out"/>
</form>
编辑
似乎有很多此类错误的线程...
喜欢这个...
google account logout and redirect
似乎是令牌问题。
所以在公共计算机上使用oauth只是危险...