问题描述
我有一个授权服务器,该服务器使用oauth2密码授权为用户名和密码登录生成并存储承载令牌。我想将社交登录(Google和Facebook)集成到我现有的授权服务器中。由于我的其他资源受授权服务器保护,如何为已登录的google / facebook用户生成Bearer令牌?这样我就可以使用该令牌访问受保护的资源。
注意:承载令牌存储在mysql db中。 (使用JdbcTokenStore)
由于我已经有了密码授予的实现,很高兴您能通过spring-boot和spring安全性为我提供有关当前授权服务的指导。
谢谢。
解决方法
有两种主要的实现方式:
-
联盟,以便授权服务器管理与社交身份提供商的集成
-
处理应用程序中的不同提供程序,这将增加UI和API的复杂性
我个人更喜欢第一个选项,它只需要更改配置-且UI和API中没有代码更改。我的Federated Logins Blog Post可以帮助您了解自己的体系结构选择。
值得做一些早期的技术测试,看看这些步骤是否有效:
- 将OAuth网络客户端添加到Google / Facebook
- 将身份提供者添加到您的授权服务器