微信 OAuth
在微信里的 OAuth 其实有两种:公众平台网页授权获取用户信息、开放平台网页登录。
它们的区别有两处,授权地址不同,scope
不同。
-
公众平台网页授权获取用户信息 授权 URL:
https://open.weixin.qq.com/connect/oauth2/authorize
Scopes:snsapi_base
与snsapi_userinfo
- 开放平台网页登录 授权 URL:
https://open.weixin.qq.com/connect/qrconnect
Scopes:snsapi_login
1.公众平台具体流程
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
2.开放平台具体流程
开放平台的区别简单来说,就是授权回调的时候,客户端会拿到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
得到用户信息,以此验证用户
第三方登录具体流程
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 来获取。 |
服务端请求如下接口,进行认证(即获取用户信息)