第三方登录 服务端验证之微信和QQ

微信 OAuth

在微信里的 OAuth 其实有两种:公众平台网页授权获取用户信息开放平台网页登录

它们的区别有两处,授权地址不同,scope 不同。

  • 公众平台网页授权获取用户信息 授权 URLhttps://open.weixin.qq.com/connect/oauth2/authorize Scopessnsapi_base 与 snsapi_userinfo

  • 开放平台网页登录 授权 URLhttps://open.weixin.qq.com/connect/qrconnect Scopessnsapi_login

 

1.公众平台具体流程

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

2.开放平台具体流程

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

 

开放平台的区别简单来说,就是授权回调的时候,客户端会拿到code,然后请求微信服务端拿到access_token

公众平台使用时前端只是跳转授权页面,后续code,access_token皆由服务端请求

服务端拿到openid 和token后请求

http:GET(请使用https协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

得到用户信息,以此验证用户

 

QQ

第三方登录具体流程

http://wiki.connect.qq.com/准备工作_oauth2-0

 

客户端拿到

access_token可通过使用Authorization_Code获取Access_Token 或来获取。 
access_token有3个月有效期。
oauth_consumer_key申请QQ登录成功后,分配给应用的appid
openid用户的ID,与QQ号码一一对应。 
可通过调用https://graph.qq.com/oauth2.0/me?access_token=YOUR_ACCESS_TOKEN 来获取。

服务端请求如下接口,进行认证(即获取用户信息)

https://graph.qq.com/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值