微信Oauth2.0授权流程

微信网页授权官方wiki页https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

授权时序图:


要点:

1. 用户在微信客户端访问H5页面,我们需要知道该用户是谁,就需要进行微信oauth2.0授权。我们拼接一个授权地址,返回给前端,前端浏览器进行重定向到该链接。参考链接如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect
2. 如果不是静默授权( snsapi_userinfo),则弹出要求获取用户信息的窗口,用户需要点击确认登录;如果是静默授权( snsapi_base)则不会有弹窗。

3. 授权后,微信要求用户重定向到一个地址(第一步拼接的redirect_uri),并将code和state传给我们。我们根据code去微信换取access_token,再通过access_token和用户open_id到微信拉取该用户信息。

注意点:

(1)这个redirect_uri一般是我们的接口地址,例如:http://www.xxx.com/api/1.0/web/weixin/callback

(2)只要用户关注了我们的服务号,即使是静默授权,也是可以获取用户的信息

拉取到的用户信息示例:

WxMpUser[
  subscribe=true
  openId=oNfgYuE....I4tzGk
  nickname=世界
  sex=女
  language=zh_CN
  city=
  province=
  country=
  headImgUrl=http://wx.qlogo.cn/mmopen/…xUjaaIM/132
  subscribeTime=1487224007
  sexId=2
  remark=
  groupId=0
  tagIds={}
]
4. 拿到用户信息后,我们就知道了该用户是谁,在后台就可以将用户信息存入数据库,给用户分配一个系统用户id,在后台帮助用户进行登录,将用户信息存入session等后续操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值