Ich versuche, eine grundlegende Spring Boot-App zu erstellen, mit der ich die Arbeit der Authentifizierung von Benutzern an einen externen OAuth2-Anbieter wie Facebook delegieren kann.Nach der OAuth2-Authentifizierung mithilfe von Spring Boot nicht ordnungsgemäß umleiten
Ich habe zwei Hauptprobleme bekam:
- Sobald der Authentifizierungsprozess abgeschlossen ist, und ich bekomme:
GET request for " https://graph.facebook.com/me " resulted in 200 (OK)
ich auch die folgenden:
Reading [interface java.util.Map] as "application/json" using [org.springfr[email protected]2a7ce52b] Delegating to org.springframework.security.w[email protected]4f061f45 SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
Es ist, als ob etwas mit dem Parsen und Speichern der zurückgegebenen Anmeldedaten nicht stimmt.
- Manchmal bekomme ich einen 401-Fehler:
Authentication request failed: org.springframework.security.authentication.BadCredentialsException: Could not obtain access token
Es ist ein eine Art von hit and miss, und ich konnte das Problem nicht zurückzuverfolgen. Dies ist auch der Fall, wenn Sie stattdessen Google OAuth2 verwenden.
habe ich im Grunde das @ EnableOAuth2Sso Anmerkung und konfiguriert die Berechtigungsnachweise der application.yml Datei:
security:
oauth2:
client:
clientId: 123
clientSecret: bla
accessTokenUri: https://graph.facebook.com/oauth/access_token
userAuthorizationUri: https://www.facebook.com/dialog/oauth
tokenName: oauth_token
authenticationScheme: query
clientAuthenticationScheme: form
resource:
userInfoUri: https://graph.facebook.com/me
preferTokenInfo: false
Jede Hilfe ist sehr geschätzt :)