Próbuję uzyskać konfigurację Oauth2 bezpieczeństwa wiosennego w mojej aplikacji w aparacie aplikacji Google. Wszystko wydaje się działać dobrze lokalnie, ale kiedy wdrażam do silnika aplikacji, wszystko zaczyna się załamać. Po tym, jak uwierzytelniam się przez google, przekierowuję mnie na stronę błędu Whitelabel. W konsoli widzę ten błąd:Włączanie Oauth2sso w Google App Engine
http://my-application.appspot.com/login?state=t…m&session_state=8b67f5df659a8324430803973b9e1726e39fd454..1ae3&prompt=none
401 (Unauthorized)
konfiguracji i moje uwierzytelniania z tym application.yml pliku:
security:
oauth2:
client:
clientId: client-key
clientSecret: secret-key
accessTokenUri: https://www.googleapis.com/oauth2/v4/token
userAuthorizationUri: https://accounts.google.com/o/oauth2/v2/auth
clientAuthenticationScheme: form
scope:
- openid
- email
- profile
- https://www.googleapis.com/auth/cloud-platform
resource:
userInfoUri: https://www.googleapis.com/oauth2/v3/userinfo
preferTokenInfo: true
Mój config bezpieczeństwo wygląda somethign tak:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
.and()
.authorizeRequests()
.antMatchers("/static/**").permitAll()
.antMatchers("/**").hasAuthority("ROLE_ADMIN")
.anyRequest().authenticated()
.and()
.exceptionHandling()
.accessDeniedPage("/403");
}
mam skonfigurował identyfikator Oauth na stronach referencyjnych google, aby zezwolić na autoryzowane pochodzenie języka javascript:
http://my-application.appspot.com
https://my-application.appspot.com
http://localhost:8080
i autoryzowanym URI przekierowanie do:
http://my-application.appspot.com/login
https://my-application.appspot.com/login
http://localhost:8080/login
Jakieś pomysły dlaczego mógłbym być coraz nieautoryzowanych błędy raz wdrożyć do GAE?
Dzięki,
Craig
Czy jesteś pewien, że użytkownik próbujesz uwierzytelnienie ma "ROLE_ADMIN" władzę? –
Pozytywna. Próbowałem rozebrać to i pozostawiając go z uwierzytelnianiem oauth na wszystkich stronach i nadal daje ten sam błąd. – craigtb
Jeśli to możliwe, możesz udostępnić minimalny, powtarzalny przykładowy projekt na GitHub? –