微信第三方平台-授权流程经验分享

原文地址: www.jianshu.com/p/67836ffa9…

在做微信第三方平台开发的时候,虽然授权的技术实现流程比较简单,但是相对于一个key直接集成的一些其他的服务来说,还是有一些步骤,过一段时间再回头查相关功能时还是可能忘记的,虽然官方的文档很全,但时每次都要前前后后看文档或每次都要走一遍步骤还是挺浪费时间的.

  • 微信开放平台:平台定位,面向开发者,提供微信登录、分享、支付等相关权限和服务
  • 微信公众平台:包括订阅号,服务号,企业号和小程序(可申请支付)

于是本人整理了下相关内容,进行分享和讨论.

交互流程

搬自官网,以公众号为例,授权给第三方平台整体流程如下图:

image.png

授权流程技术说明

具体的步骤为:

  1. 第三方平台方获取预授权码(pre_auth_code)
  2. 引入用户进入授权页(PC和移动端)
  3. 用户确认并同意登录授权给第三方平台方
  4. 授权后回调URI,得到授权码(authorization_code)和过期时间
  5. 利用授权码调用公众号或小程序的相关API(获取授权方的token等)

接口调用流程

整体流程还是很清晰易懂的,但是到具体接口调用时可能会有一些混乱,比如接口之间的参数的衔接等.因此本人制作了一张图,从接口调用的角度来描述授权的流程,如下:

image.png

步骤从上到下

常见问题

1. component_access_token的更新方式

答: 使用获取接口来更新.

2. authorizer_access_token的更新方式

答: 使用refresh_token来更新.

refresh_token也要同时使用最新返回的结果

3. authorizer_refresh_token的丢失处理

答: 需要重新授权(从头来一遍).

4. component_access_tokenauthorizer_access_token的更新机制

答: 主动+被动.

  • 主动: 设定定时任务(如:1min)分别检查component_access_tokenauthorizer_access_token是否快过期或过期,如果是则更新token
  • 被动: 每次使用component_access_tokenauthorizer_access_token时,先检查相应其是否过期,如果过期则更新token再继续相应操作
  • 微信该接口有次数限制,因此需要合理的时机来请求
  • 参考: 获取access_token

猜你喜欢

转载自juejin.im/post/5c7550c56fb9a049a5718f83