簡體   English   中英

使用Spring Boot進行OAuth2身份驗證后無法正確重定向

[英]Unable to properly redirect after OAuth2 authentication using Spring Boot

我正在嘗試構建一個基本的Spring Boot應用程序,該應用程序將允許我將對用戶進行身份驗證的工作委派給外部OAuth2提供程序,例如Facebook。

我有兩個主要問題:

  1. 身份驗證過程完成后,我得到:

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中。

好像解析和存儲返回的憑據有問題。

  1. 有時我會收到401錯誤:

身份驗證請求失敗: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM