第三方登录(二)

之前写了新浪微博的第三方登录一开始的配置以及获取access token和uid,接下来打算把QQ微信的第三方登录,以及常用的api调用都记录下来。


现在先写下QQ的第三方登录获取access token和用户唯一标识。在QQ第三方登录这里一开始就遇到了很多坑。


一开始,我百度搜索的是腾讯开放平台,顺理成章的点进了:http://open.qq.com/,我就纳闷了怎么没有网页,于是在上面建立了平台应用,结果在请求code的时候无论如何都报redirect uri is illegal(100010),真是蛋疼,后来才发现是把我的网页接进去QQ空间里面去了,但是在网站接入概述里面确实也有介绍网站使用qq登录:



但是看了看,发现QQ互联开放平台,于是百度了下,结果发现它是这样的:



最后找下下面的连接终于找到了:http://connect.qq.com,百度第一条连接就是https,也是醉了。


然后去管理中心创建你的应用:




这里填写需要注意的是回调地址,之前看过论坛上说回调地址为了安全改成了全匹配,即是你回调的页面例如:http://www.xxxxx.com/oauth/qq_login.html,则要整个填下去,已经不能只填域名。


创建完就可以获得app id和app key了,接着就可以开始干了。

请求code的url如下:

https://graph.qq.com/oauth2.0/authorize?client_id=your_app_id&response_type=code&redirect_uri=your_redirect_uri&state=STATE

上面需要的参数是你的app id,回调的uri,还有state,state是用来防止csrf攻击的,官网说state是必填,但是我观察到有的网站并没有带上这个值。


QQ授权登陆之后到了回调的uri,接着也是同上一篇文章的步骤:

https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=your_app_id&client_secret=your_app_key&redirect_uri=you_redirect_uri&code=CODE'

也不用多说,需要app id,app key,回调uri,还有刚刚获得的code。

不过这里值得多说的是,与新浪微博不同,这里请求要以get的方式,不然会提示grant_type丢失或空,官方文档有写,不过后来还是犯了这个错。


请求后便会返回你想要的access token及它的有效期,然而需要获取用户唯一标识openid要再多一步:

请求:https://graph.qq.com/oauth2.0/me?access_token=ACCESS_TOKEN,带上你刚刚获得的access token,就可以获取用户唯一标识openid还有app id,接下来带上他们仨你就可以调用各种api接口了。当然有的功能得审核过才行。


官网的说明文档资料找得我有点辛苦:http://wiki.connect.qq.com/开发攻略_server-side#Step2.EF.BC.9A.E8.8E.B7.E5.8F.96AuthorizationCode


微信登录的获取各种参数想必也大同小异,所以之后准备写先写api接口的调用,这篇就先写到这了。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值