Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.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
Java 将应用程序与spring社交网站集成_Java_Android_Spring_Spring Social - Fatal编程技术网

Java 将应用程序与spring社交网站集成

Java 将应用程序与spring社交网站集成,java,android,spring,spring-social,Java,Android,Spring,Spring Social,我目前有一个用SpringMVC和SpringSocial建立的网站,用户可以用Facebook和Twitter登录 现在我想授权我的Android客户端使用Facebook(或Twitter)凭据访问我的第三方网站,这应该是可能的。但他没有继续说怎么做。有人能帮我解决这个问题吗?只要给我一些基本的纲要,如何做到这一点。我真的被困在这里了……P/>我实际上在做一个需要做同样事情的项目。我为该网站实施了Spring Security和Spring Social,还需要允许iOS和Android应用

我目前有一个用SpringMVC和SpringSocial建立的网站,用户可以用Facebook和Twitter登录


现在我想授权我的Android客户端使用Facebook(或Twitter)凭据访问我的第三方网站,这应该是可能的。但他没有继续说怎么做。有人能帮我解决这个问题吗?只要给我一些基本的纲要,如何做到这一点。我真的被困在这里了……P/>我实际上在做一个需要做同样事情的项目。我为该网站实施了Spring Security和Spring Social,还需要允许iOS和Android应用程序通过社交网站进行连接

以下是您需要执行的操作:

  • 在应用程序项目的开发中实施特定于设备的API。所以,像平常一样在设备上实现Facebook、twitter或其他任何功能。您将在那里执行实际的身份验证过程

  • 为您的应用程序实现一个特殊的URL,以便通过社交服务登录。例如您需要将所有参数传递给此api,这些参数通常会写入UserConnection表实现-providerId、userProviderId、authenticationToken、secret等。如果提供程序不使用这些参数之一,只需传入null或空变量

  • 在这个控制器中,您需要引用spring Social SignInAdapter和ConnectionSignUp类的实现以及ConnectionRepository和UserConnectionRepository的实现,并基本上重现整个注册过程。首先,您需要通过您传回的providerId确定它是哪个提供者,并使用提供者的consumerKey和ConsumerCret来实现您需要的特定ConnectionFactory。然后,使用传入的数据创建ConnectionData对象。使用ConnectionData对象,可以创建实际的连接对象

  • 现在是复制普通Spring社交登录逻辑的地方:首先,使用对UserConnectionRepository的引用并调用findUserIdsWithConnection()方法,查看用户以前是否登录过。如果没有,则调用ConnectionSignUp.execute()方法来创建用户

  • 最后,只需调用SignInAdapter.signin()方法来登录用户。别忘了将您的响应设置为OK,这样您的应用程序就知道这是成功的


  • 哇,听起来好像很多。实际上,听起来比实际情况更像。希望这至少有助于为您指明正确的方向。

    如果我编写html5移动应用程序(jquery+phonegap等),我该怎么办?@SBerg413我可以使用REST库并进行常见的facebook登录、获取访问令牌并发出登录请求,其工作原理与用户从其客户端代码(浏览器、javascript)中调用完全相同吗这是一个很好的方法,当然有助于我开始-尽管步骤2存在安全风险,因为您的控制器只是从应用程序接受这些细节-如果服务器端没有进行验证,可以添加一个随机令牌。更好的是,如果移动应用程序只需将令牌发送到Spring社交服务器,并让它调用API来建立连接。我很快会写一篇博文,并为未来的人们更新这篇评论。目前看来前景看好。我将尝试一下,并分享我的经验。非常感谢@SBerg413