第三方登录(一)

最近两天都在研究第三方登录,为了温习下流程,和避免以后又走上弯路,留下一丝痕迹,也方便大家参考,如有错误请大家指正。


一开始我是先弄微信的第三方登录,结果发现貌似现在是要付费才可以?


然后就屁颠屁颠的去弄新浪微博的了:http://open.weibo.com/connect


按照他的流程走完你应该就能获得app key 和 app secret了。


这里先说下没审核上线前只能自己添加15个账号用以授权:(微博名)



然后去设置回调页:



新浪微博第三方这里遇到问题不多,很快就好了,下面讲详细实现。

先看看接口文档

接口文档

接口 说明
OAuth2/authorize 请求用户授权Token
OAuth2/access_token 获取授权过的Access Token
OAuth2/get_token_info 授权信息查询接口
OAuth2/revokeoauth2 授权回收接口
OAuth2/get_oauth2_token OAuth1.0的Access Token更换至OAuth2.0的Access Token
再看看详细流程:

1. 引导需要授权的用户到如下地址:

URL

YOUR_CLIENT_ID是你的app key,现在要获取code所以response_type=code就行了,YOUR_REGISTERED_REDIRECT_URI就是你要回调的页面,注意域名匹配在新浪上填写的,这里的实现可以是直接一个链接,或者跳到回调页面进行判断处理再重定向到这个url


2. 如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE

这里就可以得到code,这里回调到页面就可以处理接下来的一步了


3. 换取Access Token

URL

YOUR_CLIENT_SECRET是你的app secret,grant_type=authorization_code就这样写,然后code是你刚刚获得的code值,到了回调页面你就可以到后台处理了,这里我一开始用ajax去请求结果发现跨域请求jquery不能接受数据的返回,而且这里返回会带有access_token,官方有说这个的获取建议放在服务端,避免被劫持。所以后来我便放到后台处理,首先获取code值,然后用post的方式请求,记得新浪微博这里用post方式,不然一直报错。

我用的是php,具体的后台发送请求请看:http://blog.csdn.net/nohaoye/article/details/46894205


其中client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET可以使用basic方式加入header中,返回值

请求成功了就会返回数据,但是不是官方的下面这个,返回还会有一个用户唯一标识uid,新浪微博是一步就都获取了。

JSON
1
2
3
4
5
{
     "access_token" "SlAV32hkKG" ,
     "remind_in" : 3600,
     "expires_in" : 3600
}

4. 使用获得的Access Token调用API

获取了access token之后你就可以使用它的api了,移步:http://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5

新浪微博第三方登录就写到这,之后是QQ第三方登录。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值