成功登录Google OAuth2时出现重定向错误

时间:2019-08-18 09:01:20

标签: java spring spring-security-oauth2 google-client

我正在使用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

google console Application.yml browser error

1 个答案:

答案 0 :(得分:0)

默认情况下,基本重定向URI为:/ oauth2 / code / {registrationId}

因此,您的重定向uri应该为:http://localhost:8090/login/oauth2/code/google

如果要更改它,可以在redirectionEndpoint上进行 例如

.oauth2Login()
  .redirectionEndpoint()
  .baseUri("your custom redirect uri")