Tôi đang cố gắng thiết lập bảo mật mùa xuân oauth2 trên ứng dụng của mình trong công cụ ứng dụng của Google. Tất cả mọi thứ dường như làm việc tốt tại địa phương nhưng khi tôi triển khai để những thứ công cụ ứng dụng bắt đầu phá vỡ. Sau khi tôi xác thực thông qua google, nó chuyển tiếp tôi đến trang lỗi Whitelabel. Trong giao diện điều khiển tôi thấy lỗi này:Bật Oauth2sso trên Google App Engine
http://my-application.appspot.com/login?state=t…m&session_state=8b67f5df659a8324430803973b9e1726e39fd454..1ae3&prompt=none
401 (Unauthorized)
tôi thiết lập auth của tôi với tập tin này application.yml:
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
cấu hình an ninh của tôi trông somethign như thế này:
@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");
}
Tôi có đã định cấu hình ID Oauth trên trang thông tin xác thực của google để cho phép nguồn gốc javascript được ủy quyền là:
http://my-application.appspot.com
https://my-application.appspot.com
http://localhost:8080
Và các URI chuyển hướng có thẩm quyền:
http://my-application.appspot.com/login
https://my-application.appspot.com/login
http://localhost:8080/login
Bất cứ ý tưởng tại sao tôi có thể nhận được lỗi trái phép một lần tôi triển khai đến GAE?
Cảm ơn,
Craig
Bạn có chắc chắn rằng người dùng mà bạn đang cố gắng để xác thực với có "ROLE_ADMIN" quyền? –
Tích cực. Tôi đã thử loại bỏ nó ra và để nó chỉ với xác thực oauth trên tất cả các trang và nó vẫn cho cùng một lỗi. – craigtb
Nếu có thể, bạn có thể chia sẻ một dự án mẫu tối thiểu, có thể tái sản xuất trên GitHub không? –