Skip to main content
 首页 » 编程设计

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

2024年06月03日41insus

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

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

我该怎么办?

请您参考如下方法:

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

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