Spring Boot OAuth2将内部用户与Facebook/Google登录链接起来

big*_*ghi 7 spring-security spring-social google-oauth spring-boot spring-oauth2

我已经使用AngularJS前端实现了一个Spring Boot应用程序.还设置了用户及其权限.现在,我可以使用这些用户登录,并且可以很好地使用Spring安全性.我想将此传统登录流程转换为Facebook/Google OAuth登录流程,我希望用户使用其Facebook/Google帐户登录,并自动将其映射到其内部用户.这将帮助我摆脱维护这些用户的密码.

我发现很多文章都在讨论如何使用Spring Boot设置OAuth,以及如何将Facebook/Google登录与Spring Boot应用程序集成.但我很难找到一篇文章谈论将Facebook/Google用户与内部用户联系起来.

我该怎么办呢?

p.s*_*eef 1

  1. 查找具有关联 facebook/google userID 的用户。
  2. 如果该用户不存在,您会请求一个电子邮件地址并尝试将其与现有的旧帐户进行匹配。
  3. 如果您因任何原因没有收到电子邮件地址(例如不接受授权请求),您可以显示一个弹出框,要求提供电子邮件地址,解释您需要它的原因。
  4. 然后,您找到旧用户并将其合并,添加 facebook/google ID,以便将来查找。
  5. 如果没有找到具有该电子邮件地址的用户,您要么拒绝该用户,要么创建一个新帐户。

你应该能够通过实现你自己的来完成所有这些AuthenticationProvider