博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信授权流程探索
阅读量:6871 次
发布时间:2019-06-26

本文共 1414 字,大约阅读时间需要 4 分钟。

微信授权流程

前言

最近项目接触到微信h5页面开发,对于一个对微信只接触过小程序的小白来说,整个流程都是懵懵逼逼的。对微信授权流程之前只是有个大致的了解,自己并不是很清楚其中的通信,刚好有机会跟小组长一起去探讨这个问题,梳理了一下基于我们项目的微信授权逻辑。

微信授权

由上顺序图可以看到

  1. 用户进入微信h5页面,调用微信授权接口,返回用户授权界面,微信授权接口如下:

这里有两个参数比较注意的是:redirect_uri和state,redirect_uri主要是存放后台的接口访问地址,state主要存放微信授权成功后需要跳转的页面地址。与整个微信授权流程紧密相关,请先记住了!!记不住记得回来回忆一下

若提示该链接无法访问,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。微信返回参数错误的原因一般有两种:一是在微信公众平台没有配置相应的参数;二是前端配置的接口参数与公众平台不一致。

具体参数说明

参数 是否必须 说明
appid 公众号的唯一标识
redirect_uri 授权后重定向的回调链接地址, 需要使用 urlEncode 对链接进行处理
response_type 返回类型,填写code
scope 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )
state 重定向后会带上state参数,传递什么返回什么
wechat_redirect 无论直接打开还是做页面302重定向时候,必须带此参数
  1. 用户同意授权之后,即向微信发送同意授权请求,微信返回一个302的重定向数据包(redirect_uri+code+state),客户端浏览器重定向redirect_uri+code。此处相当于向后台请求了一次接口,后台存取相关请求信息并通过获取的code换取网页授权access_token(后端)

    由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起

  2. 如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。后台用access_token换取用户信息之后,向客户端返回一个重定向数据包(state+token),客户端浏览器根据state进行重定向并在该页面存取相关token信息
  1. 此时客户端已经获取token信息,根据token信息可以向后台请求接口获取相关信息。

注意

  1. 调取微信授权接口时根据scope的不同有两种授权方式:snsapi_base是用来获取用户的openid,不需要用户手动授权。而snsapi_userinfo是用来获取用户基本信息,需要用户手动授权。
  2. 检验授权凭证(access_token)是否有效

请求方法:

http:GET(请使用https协议)
参数 说明
access_token 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
openid 用户的唯一标识

转载地址:http://oopfl.baihongyu.com/

你可能感兴趣的文章
“yes”或“no”:Google双因素验证迎来新方式
查看>>
MTN公司投资1300万美元在内罗毕开通了一个数据中心
查看>>
《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一2.5 在ESXi上建立第一台虚拟机...
查看>>
敏捷开发:产品思维项目管理免费讲座
查看>>
浪潮与爱立信签署云、媒体以及物联网合作谅解备忘录
查看>>
屋顶光伏发电越走越宽 民用市场成争夺重点
查看>>
ERP云成甲骨文重点发力对象
查看>>
8.19亿,增速126%,阿里云能追上亚马逊、微软吗?
查看>>
关于ZigBee智能家居系统的几大思维误区
查看>>
IBM 又迎来了一次 精减性质 大裁员
查看>>
甲骨文为女性STEM教育事业投300万美元资金
查看>>
贵阳交通大数据中心9月启用 出行先看“拥堵指数”
查看>>
国家信息中心和华为智慧城市联合创新实验室揭牌仪式隆重举办
查看>>
为何每年投入上千亿的智能家居市场还没年收上千亿?
查看>>
联发科Helio X35细节曝光:采用10nm工艺
查看>>
Facebook默默开始“抄”微信,但“抄”得还不够
查看>>
智慧医疗助力患者康复,提高医疗质量
查看>>
业务发展如何利用创新驱动力量?
查看>>
城市智慧物流中心启航 助推济南“携河北跨”
查看>>
让任正非陷入“迷茫”的,不只是华为……
查看>>