思路
不管是第三方SDK,还是工具包,其实底层都是一样的思路。第三方登录包括获取token、通过token获取用户相关公开信息。下文提到的数据只是大部分都会有的,具体需要什么数据,还请自行研究自己的文档。
1、获取token。token意为令牌,也就是开门的钥匙。获取token,我们需要准备的数据有:向服务器发出获取token请求的url(由服务器提供)、appId(我们可以事先向第三方申请,这个数据是我们获取第三方服务的id)、appSecret(也有叫clientSecret的)、redirectUrl(返回地址,一般写自己的接口就可以了,用于接收token等参数)。准备好数据后,就是拼接了。这个就得看文档对请求url的规定了,按着拼接就可以了。拼接主要是三部分,url、header(contentType等数据一般放在header里)、body(有的appid会放在header里,有的会在body里,注意看一下文档就好了)。
2、使用token,获取资源。使用第二个地址,常用的数据:token(必须有),appId等。然后拼接。
例子
1 OAuth认证
按照上面的原理,搞一下。
先拼接获取token的URL。
函数头
public String getThirdLoginUrl()
函数体
OAuthClientRequest oAuthClientRequest = null;
oAuthClientRequest = OAuthClientRequest
.authorizationLocation(ThirdLoginConstants.THIRD_URL + ThirdLoginConstants.RestUrl.AUTHORIZE.getUrl())//拼装获取token地址
.setResponseType(ThirdLoginConstants.RESPONSE_TYPE) //一般写code
.setClientId(ThirdLoginConstants.CLIENT_ID)//有的是appid
.setRedirectURI(ThirdLoginConstants.REDIRECT_URI) //设置返回地址
.setScope(ThirdLoginConstants.SC