Spring security 为社交登录用户生成承载令牌spring boot

Spring security 为社交登录用户生成承载令牌spring boot,spring-security,oauth,oauth-2.0,spring-oauth2,idp,Spring Security,Oauth,Oauth 2.0,Spring Oauth2,Idp,我有一个授权服务器,它使用oauth2密码授权为用户名和密码登录生成和存储承载令牌。我想将社交登录(Google和facebook)集成到我现有的授权服务器上。由于我的其他资源受到授权服务器的保护,我如何为google/facebook登录用户生成承载令牌?因此,我可以使用该令牌访问受保护的资源 注意:承载令牌存储在mysql数据库中。(使用JdbcTokenStore) 由于我已经有了密码授权实现,我很高兴您能指导我如何使用SpringBoot和SpringSecurity处理当前的授权服务

我有一个授权服务器,它使用oauth2密码授权为用户名和密码登录生成和存储承载令牌。我想将社交登录(Google和facebook)集成到我现有的授权服务器上。由于我的其他资源受到授权服务器的保护,我如何为google/facebook登录用户生成承载令牌?因此,我可以使用该令牌访问受保护的资源

注意:承载令牌存储在mysql数据库中。(使用JdbcTokenStore)

由于我已经有了密码授权实现,我很高兴您能指导我如何使用SpringBoot和SpringSecurity处理当前的授权服务


谢谢。

实现这一点有两种主要方法:

  • 联合,以便授权服务器管理与社会身份提供者的集成

  • 在应用程序中处理不同的提供者,这将增加UI和API的复杂性

就个人而言,我更喜欢第一个选项,它只需要更改配置,而不需要更改UI和API中的代码。我的建议可能会帮助您了解您的架构选择

值得进行一些早期技术测试,看看这些步骤是否有效:

  • 将OAuth web客户端添加到Google/Facebook
  • 将身份提供程序添加到授权服务器

如果您知道第二种方式的实施方法,请与我分享。