Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用spring social进行移动注册_Spring_Spring Mvc_Spring Boot_Spring Security_Spring Social - Fatal编程技术网

使用spring social进行移动注册

使用spring social进行移动注册,spring,spring-mvc,spring-boot,spring-security,spring-social,Spring,Spring Mvc,Spring Boot,Spring Security,Spring Social,我正在尝试将SpringSocial用于我的REST服务和移动应用程序 我想知道最好的方法是什么 我计划在我的移动应用程序中使用linkedin、谷歌登录和密码验证。此社交登录应连接到我的数据库中的用户 我的spring应用程序将充当API,应该使用JWT令牌进行保护。移动应用程序随后将使用此JWT令牌来使用API 在我的手机上,我希望能够使用linkedin、facebook或密码注册/登录 据我所知,mobile需要与中描述的不同的oauth流 似乎需要“代码交换验证密钥”流程,如中所述:

我正在尝试将SpringSocial用于我的REST服务和移动应用程序

我想知道最好的方法是什么

我计划在我的移动应用程序中使用linkedin、谷歌登录和密码验证。此社交登录应连接到我的数据库中的用户

我的spring应用程序将充当API,应该使用JWT令牌进行保护。移动应用程序随后将使用此JWT令牌来使用API

在我的手机上,我希望能够使用linkedin、facebook或密码注册/登录

据我所知,mobile需要与中描述的不同的oauth流

似乎需要“代码交换验证密钥”流程,如中所述:

这是正确的吗?我没有找到任何关于如何最好地使用SpringSocial以及SpringSocial是否支持此用例的信息


有人能给我指出正确的方向吗?我刚刚找到了如何使用单页应用程序而不是移动应用程序实现这一点的信息。提前多谢

一种可能的方法是

  • 该移动应用程序使用LinkedIn或Google的SDK进行SSO以检索authN令牌
  • 移动应用程序将其传递给后端服务,后端服务使用它从oauth服务检索用户详细信息(例如电子邮件)
  • 后端服务可以执行有关用户详细信息的其他工作(例如,与现有用户的链接)
  • 后端服务向移动应用程序返回JWT令牌,从而结束SSO
  • SSO应该能够返回一个电子邮件地址供您链接用户。有时你需要明确地申请许可(Facebook需要)

    这种方法的关键点是,它避免了在后端服务中完全使用OAuth2库,因为它现在在移动应用程序中使用SSO提供程序的SDK进行处理

    流程总结见下图:

    ======== 编辑:

    我们使用这种方法在一个移动应用程序上实现Facebook SSO,效果非常好。移动应用程序在iOS中,后端服务为Spring Boot


    欢迎讨论。

    我知道你在这篇帖子上回复已经有一段时间了,但是如果可能的话,你能提供更多关于你是如何实现你的解决方案的细节吗?我也实现了这个,它为FB和谷歌工作。但对于linkedin而言并非如此::“需要注意的是,通过移动SDK获取的访问令牌只能用于移动SDK,不能用于进行服务器端REST API调用。”在网络上有一些解决方法。这里还有一篇关于如何实际实现这种行为的文章:@Wecherowski这篇文章与在移动应用程序中验证用户无关。这只是为了验证webapp中的用户。