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/

相关问题