7

我已經使用AngularJS前端實現了Spring Boot應用程序。還設置了用戶及其權限。現在,我可以與任何這些用戶一起登錄,並且與Spring安全性一起工作良好。我想將這種傳統登錄流程轉換爲Facebook/Google OAuth登錄流程,我希望用戶使用他們的Facebook/Google帳戶登錄,並自動將其映射到其內部用戶。這將幫助我擺脫維護這些用戶的密碼。Spring Boot OAuth2將內部用戶與Facebook/Google登錄連接起來

我發現很多文章談論如何使用Spring Boot設置OAuth,以及如何將Facebook/Google登錄與Spring Boot應用程序集成。但是我很難找到一篇關於將Facebook/Google用戶與內部用戶關聯的文章。

我應該怎麼辦?

+0

檢查這個.. https://stackoverflow.com /問題/ 44967162 /自動合併,Facebook的和內部用戶 –

回答

1
  1. 尋找具有關聯的facebook/google用戶ID的用戶。
  2. 如果該用戶不存在,請您申請一個電子郵件地址並嘗試將其與現有舊帳戶相匹配。
  3. 如果您因任何原因沒有收到電子郵件地址(例如未接受授權請求),則可以顯示一個彈出框,要求輸入電子郵件地址以解釋您爲什麼需要它。
  4. 然後,您找到舊用戶併合並它,添加Facebook /谷歌ID以便在將來查找它。
  5. 如果找不到包含電子郵件地址的用戶,則您拒絕該用戶或創建一個新帳戶。

你應該能夠通過實現自己的AuthenticationProvider

0

做這一切之前,你可以從Facebook獲取用戶的數據,你必須通過設置spring.social.facebook.appIdspring.social.facebook.appSecret屬性指定應用程序的ID和密碼。您可以通過由Spring Boot的支持任何手段設置這些,包括在application.properties文件中設置它們:

spring.social.facebook.appId=233668646673605 
spring.social.facebook.appSecret=33b17e044ee6a4fa383f46ec6e28ea1d 

僅供參考,你可以按照這篇文章:https://spring.io/guides/gs/accessing-facebook/

相關問題