我正在使用Spring Security来实现google oauth2客户端,并且在成功登录后,而google授权服务器正在重定向,导致页面无法正确重定向。
@Configuration
@EnableWebSecurity
@EnableOAuth2Client
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.oauth2Login()
.failureUrl("/login?error")
.permitAll()
.and()
.logout()
.logoutSuccessUrl("http://www.google.com")
.and()
.oauth2Client();
}
}
# oauth2 client configuration
spring:
security:
oauth2:
client:
registration:
google:
provider: google
clientId:
client-secret:
authorization-grant-type: authorization_code
redirect-uri: http://localhost:8090/home
scope: openid,profile,email
provider:
google:
authorization-uri: https://accounts.google.com/o/oauth2/v2/auth
token-uri: https://oauth2.googleapis.com/token
user-info-uri: https://openidconnect.googleapis.com/v1/userinfo
user-name-attribute: sub
jwk-set-uri: https://www.googleapis.com/oauth2/v3/certs
server:
port: 8090
答案 0 :(得分:0)
默认情况下,基本重定向URI为:/ oauth2 / code / {registrationId}
因此,您的重定向uri应该为:http://localhost:8090/login/oauth2/code/google
如果要更改它,可以在redirectionEndpoint上进行 例如
.oauth2Login()
.redirectionEndpoint()
.baseUri("your custom redirect uri")