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