下面将对微信开发中的全局access_token和网页授权access_token进行具体的讲解。
一、官方解释
网页授权access_token和普通access_token的区别
1、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;
2、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。
二、个人理解
相同点:
微信开发中的两种access_token,具有相同的名称,并且有效期都是7200秒。
不同点:
-
获取网络授权的access_token之前需先获取一次性使用的code;而全局的access_token可直接调用接口获取。
-
网页授权的access_token,与微信用户是一对一关系,只能获取对应的微信用户信息;而全局的access_token可重复利用,可获取不同微信用户的信息。
-
网页授权的access_token获取次数没有限制;而全局access_token每天获取最多次数为2000次(这个次数可申请增加)。
如何重复使用不能频繁刷新的全局access_token?
可以把全局access_token保存在redis中,并设置过期时间(过期时间不超过7200s),如果过期了,则需要重新获取全局access_token。
三、官方文档及具体实现
1、获取网页授权access_token的官方文档:
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#3
注意:在网络授权获取access_token中,由于access_token有效期较短,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。refresh_token的作用是为了让用户无感知的延长登录状态的有效期。
2、获取全局access_token的官方文档:
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
3、两种access_token的具体实现可以查看往期文章:
微信分享给好友实现跳转:https://blog.csdn.net/qq_39512532/article/details/106700445
微信扫码实现跳转:https://blog.csdn.net/qq_39512532/article/details/106700483