微信公众平台开发:受权和签名

在微信公众平台开发过程当中,主要涉及到两大方面问题,一个是网页受权,一个是JS SDK使用。由于最近遇到各类坑,故抽空通读了微信提供的公众平台开发者文档,并在此作下总结。html

网页受权

1.用户赞成受权,获取code(前端调用):前端

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

用户点击“确认登陆”(即赞成受权),跳到回调地址redirect_uri,并回传code:后端

redirect_uri/?code=CODE&state=STATE(这一步就跳到咱们本身的后端服务工程了)

code有5分钟时效;redirect_uri须要登陆到公众平台配置。api

2.经过code换取网页access_token(后端调用):安全

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

微信返回access_token(受权接口调用凭证)和openid(用户惟一标识,不管是否关注公众号都有)
其中appid、secret都是公众号分配的,可登陆到公众平台查看;access_token有2个小时时效。微信

3.拉取用户信息(后端调用):app

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

微信JS SDK

1.绑定安全域名:即容许调用JS SDK开发工具的域名,通常为前端页面域名,须要登陆到公众平台配置。微信公众平台

2.引入jweixin.js文件异步

3.验证签名:工具

wx.config({  
        debug: true, // 开启调试模式,调用的全部api的返回值会在客户端alert出来,若要查看传入的参数,能够在pc端打开,参数信息会经过log打出,仅在pc端时才会打印。
        appId: '', // 必填,公众号的惟一标识 
        timestamp: , // 必填,生成签名的时间戳 
        nonceStr: '', // 必填,生成签名的随机串 
        signature: '',// 必填,签名,见附录1
        jsApiList: [] // 必填,须要使用的JS接口列表,全部JS接口列表见附录2
    });

4.经过ready接口处理验签成功回调:

wx.ready(function(){
      //异步
    });

5.经过error接口处理验签失败回调:

wx.error(function(res){
      //异步
    });

哈,本文只是作下总结,具体仍是要参考微信官方说明文档

下面总结遇到的一些报错,并分析其缘由:1.报“微信签名失败”:有多是安全域名配置有误;2.报“未关注该测试号”:测试号有关注人数限制,有多是已经达到上限了。

相关文章
相关标签/搜索