微信授权开发总结

微信授权总结


步骤

  1. 向微信发起主动授权。
  2. 微信回调,带着code和state(state是自己定义的,用户同意授权后,微信原封不动的返回,可以用其做些业务逻辑)。
  3. 拿着code去换AccessToken和openId。
  4. 拿着AccessToken和openId去取微信用户信息。

特别注意

过期时间

  1. ticket、AccessToken都有过期时间,需要保存在服务器。
  2. 每个code只能请求一次AccessToken。坊间:对于每个code,微信会回调两次,如果两次code都去请求,第一次的正确数据会被第二次冲掉。

配置

  1. 测试公众号(没有在工信部备案的授权回调url)会弹出框“继续访问”,正式的公众号没有。
  2. 授权回调地址要在公众号后台配置的域名之下,否则会报错:invalid request uri。
  3. 请求签名时的URL要在公众号后台配置的安全域名之下,否则会报错:invalid url domain。,并且获取签名的URL一定要和将要访问的(或者当前页面)URL一模一样,空格之类的转译字符也是不允许的。否则会报错:invalid signature。 另:微信提供的encode只会编码“?”前半部分,并不会编码微信强加的尾巴,所有要审视是不是需要再做一次encode。

相关推荐