[英]Unable to properly redirect after OAuth2 authentication using Spring Boot
我正在嘗試構建一個基本的Spring Boot應用程序,該應用程序將允許我將對用戶進行身份驗證的工作委派給外部OAuth2提供程序,例如Facebook。
我有兩個主要問題:
GET請求“ https://graph.facebook.com/me ”,結果為200(確定)
我也得到以下信息:
使用[org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@2a7ce52b]將[interface java.util.Map]讀取為“ application / json”,委托給org.springframework.security.web.authentication.session.ChangeSessionIdAuthenticationStrategy@4f061f45為空或內容為匿名-上下文將不會存儲在HttpSession中。
好像解析和存儲返回的憑據有問題。
身份驗證請求失敗:org.springframework.security.authentication.BadCredentialsException:無法獲取訪問令牌
這是一種偶然,我無法找到問題所在。 改為使用Google OAuth2時也會發生。
我基本上使用@ EnableOAuth2Sso批注,並使用application.yml文件配置憑據:
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
任何幫助深表感謝 :)
最終,我設法解決了這一問題,將spring-boot-starter-tomcat
maven依賴項標記為<scope>provided</scope>
,從而干擾了在嵌入式tomcat中正確初始化spring上下文對象的能力。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.