公众号网页静默授权和非静默授权出现的问题 - FannieFannie/wechatweb GitHub Wiki

公众号网页静默授权获得code不一定都是有效的

  1. 当code无效时,后台日志中会出现如下状态码
  • 40163 oauth_code已使用
  • 42003 oauth_code 超时
  • 40029 无效的 oauth_code
  • 41008 缺少 oauth code 当静默授权时,从未关注过该公众号的用户访问站点时,会得不到授权,使用功能时,后台会报错。这里后台的封装应该单独封装一类错误码,提示非静默授权导致的生成的code无效,重新在非静默模式下获取code。
  1. 在设计签到前端逻辑的时候,顺序是这样的。 先通过code获取用户基本信息,获取用户信息这一步如果不成功的话,该让用户提供授权就跳转到微信授权页面,让用户提供授权。 然后注入配置信息,以使用JS-SDK,如果签名验证失败则是后台access_token的问题
  2. 关于网页授权access_token和普通access_token的区别
  • 1、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;
  • 2、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。 总而言之,静默授权还是谨慎使用,除非是一定要关注了公众号才能使用功能,用静默授权才不会出错。