最近项目接触到微信h5页面开发,对于一个对微信只接触太小程序的小白来讲,整个流程都是懵懵逼逼的。对微信受权流程以前只是有个大体的了解,本身并非很清楚其中的通讯,恰好有机会跟小组长一块儿去探讨这个问题,梳理了一下基于咱们项目的微信受权逻辑。前端
由上顺序图能够看到小程序
https://open.weixin.qq.com/co...
这里有两个参数比较注意的是:redirect_uri和state,redirect_uri主要是存放后台的接口访问地址,state主要存放微信受权成功后须要跳转的页面地址。与整个微信受权流程紧密相关,请先记住了!!记不住记得回来回忆一下后端
若提示该连接没法访问,请检查参数是否填写错误,是否拥有scope参数对应的受权做用域权限。微信返回参数错误的缘由通常有两种:一是在微信公众平台没有配置相应的参数;二是前端配置的接口参数与公众平台不一致。api
具体参数说明浏览器
参数 | 是否必须 | 说明 |
---|---|---|
appid | 是 | 公众号的惟一标识 |
redirect_uri | 是 | 受权后重定向的回调连接地址, 须要使用 urlEncode 对连接进行处理 |
response_type | 是 | 返回类型,填写code |
scope | 是 | 应用受权做用域,snsapi_base (不弹出受权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出受权页面,可经过openid拿到昵称、性别、所在地。而且, 即便在未关注的状况下,只要用户受权,也能获取其信息 ) |
state | 否 | 重定向后会带上state参数,传递什么返回什么 |
wechat_redirect | 是 | 不管直接打开仍是作页面302重定向时候,必须带此参数 |
因为公众号的secret和获取到的access_token安全级别都很是高,必须只保存在服务器,不容许传给客户端。后续刷新access_token、经过access_token获取用户信息等步骤,也必须从服务器发起安全
https://api.weixin.qq.com/sns...
请求方法:服务器
http:GET(请使用https协议) https://api.weixin.qq.com/sns...
参数 | 说明 |
---|---|
access_token | 网页受权接口调用凭证,注意:此access_token与基础支持的access_token不一样 |
openid | 用户的惟一标识 |