准备知识:
Base64编解码
AES算法、填充模式、偏移向量
session_key会话密钥,以及怎么存储和获取
以上3点对于理解解密流程非常重要。
根据官方文档,我梳理了大致的解密流程,如下:
(此图片来源于网络,如有侵权,请联系删除! )
小程序客户端调用wx.login,回调里面包含js_code。
然后将js_code发送到服务器A(开发者服务器),服务器A向微信服务器发起请求附带js_code、appId、secretkey和grant_type参数,以换取用户的openid和ses