我正在尝试将spring social用于我的REST服务和我的移动应用程序。
我想知道最好的方法是什么。
我打算在移动应用中使用 linkedin ,谷歌登录和密码验证。此社交登录应连接到我的数据库中的用户。
我的spring应用程序将充当API,应使用JWT令牌进行保护。之后移动应用程序将使用此JWT令牌来使用API。
在我的手机上,我希望能够通过linkedin,Facebook或密码注册/登录。
据我所知,移动需要的流量与https://spring.io/guides/tutorials/spring-boot-oauth2/
中描述的不同似乎它需要“代码交换的证明密钥”流程,如下所述: https://auth0.com/docs/api-auth/grant/authorization-code-pkce
这是对的吗?我没有找到任何关于春季社交如何最好地做到这一点的信息,如果春天的社交支持这个用例。
有人能指出我正确的方向吗?我刚刚找到了有关如何使用单页应用程序而不是移动应用程序执行此操作的信息。非常感谢提前!
答案 0 :(得分:4)
一种可能的方法是
SSO应该能够返回一个电子邮件地址供您链接用户。有时您需要明确申请许可(Facebook要求)。
这种方法的关键在于它避免在后端服务中完全使用OAuth2库,因为现在可以使用SSO提供程序的SDK在移动应用程序中处理它。
====== 编辑:
我们使用这种方法通过一个移动应用程序进行Facebook SSO,并且效果非常好。移动应用程序在iOS中,后端服务是Spring Boot。
欢迎讨论。