这是我在Stackoverflow上问的第一个问题...我和我的同事正在尝试为我们的应用程序与Google建立OAuth2登录,但是我们遇到了问题。我们需要使用OAuth2登录名来保护端点“ / auth”,然后重定向到该相同的端点。但是,我们似乎可以登录(意味着Google不再要求输入密码),但是我们使用刚刚通过身份验证的电子邮件将其重定向到Google的页面,我们单击它,然后将其重定向到同一页面。无限循环。
这是我们的代码:
配置
@Configuration
@EnableOAuth2Sso
@Order(1)
public class OauthSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.cors()
.and()
.csrf()
.disable()
.authorizeRequests()
.antMatchers("/auth")
.authenticated();
}
}
application.properties
spring.datasource.url=${PROD_DB_URL}
spring.datasource.username=${PROD_DB_USERNAME}
spring.datasource.password=${PROD_DB_PASSWORD}
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.logging.level.org.hibernate.SQL=debug
spring.jpa.show-sql=true
spring.profiles.active=${ACTIVE_PROFILE}
security.oauth2.client.clientId=${ID}
security.oauth2.client.clientSecret=${SECRET}
security.oauth2.client.accessTokenUri=${TOKEN}
security.oauth2.client.userAuthorizationUri=${URI}
security.oauth2.client.tokenName=oauth_token
security.oauth2.client.authenticationScheme=query
security.oauth2.client.clientAuthenticationScheme=form
security.oauth2.client.scope=profile
security.oauth2.resource.user-info-uri=https://www.googleapis.com/userinfo/v2/me
security.oauth2.client.preEstablishedRedirectUri=http://localhost:8080/authsecurity.oauth2.client.useCurrentUri=false
谢谢!