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

我目前有一个使用Spring MVC和Spring Social建立的网站,因此用户可以使用Facebook和Twitter登录.

现在我想授权我的Android客户端使用Facebook(或Twitter)凭据访问我的第三方网站. As stated here,这应该是可能的.但他并没有继续说出如何.任何人都可以让我在路上吗?请给我一些如何做到这一点的基本概述.我真的被困在这里……

最佳答案
我实际上正在处理一个需要做同样事情的项目.我实现了Spring Security& Spring Social for the website也需要允许iOS和Android应用程序通过社交网站连接.

这是你需要做的:

>将特定于设备的API实施到应用程序项目的开发中.因此,实现Facebook,Twitter或其他任何设备上的通常情况.您将在那里进行实际的身份验证过程.
>为您的应用实施特殊网址,以便通过社交服务登录.例如,http://yousiteapi.com/services/auth/socialSignin.您将需要将所有参数传递给此api,这通常会写入UserConnection表实现 – providerId,userProviderId,authenticationToken,secret等.如果提供者不使用其中一个,只传入null或空var.
>在此控制器中,您将需要引用spring Social SignInAdapter和ConnectionSignUp类的实现以及ConnectionRepository和UserConnectionRepository的实现,并基本上重现整个注册过程.首先,您需要通过您传回的providerId确定它是哪个提供者,并使用提供者的consumerKey和consumerSecret来实现您需要的特定ConnectionFactory.然后,使用您传入的数据来创建ConnectionData对象.使用ConnectionData对象,可以创建实际的Connection对象.
>现在,您可以复制普通Spring Social登录的逻辑:首先,使用您对UserConnectionRepository的引用并调用findUserIdsWithConnection()方法以查看用户是否先前已登录.如果不是,请调用ConnectionSignUp.execute()创建用户的方法.
>最后,您只需调用SignInAdapter.signin()方法对用户进行签名.不要忘记将响应设置为OK,以便您的应用知道这是成功的.

哇,这听起来很多.实际上听起来比它更多.希望这至少有助于指出你正确的方向.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...