如何获取accessToken
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取accessToken相关的知识,希望对你有一定的参考价值。
参考技术A 正常情况下access_token有效期为7200秒
,重复获取将导致上次获取的access_token失效。
由于获取access_token的api调用次数非常有限,建议开发者全局存储与更新access_token,频繁刷新access_token会导致api调用受限,影响自身业务。
access_token调用频率一天为2000次,如果简单的使用自定义菜单完全够用.只是微信退出多客服后,如果频繁发送客服消息,将有可能不够用
那么怎么延长,一般有种。
1
使用定时器刷新
2
存储到数据库
使用定时器个人觉得,如果是个人开发影响不大.若是第三方服务平台的话,帐号一多,是不是带来很大的压力呢?
若是第三方服务平台,我更推荐使用数据库。
公众平台的开发接口的access_token长度将增长,其存储至少要保留512个字符空间
使用数据库的话,大概思路就是这样的。第一次使用将其
access_token存储起来,下次需要
access_token则将其查出。若是失效则,重新创建并更新数据库.若是没有失效,则直接使用。
Oauth2协议中如何对accessToken进行校验
大家好,我是飘渺。今天我们来聊聊oauth2.0的accesstoken校验逻辑。
概述
本文来自球友Never Sett*
的提问
看完这个问题,我感觉读者对于accesstoken的校验逻辑不太清楚,所以特意写了这篇文章解释一下。
首先我们要知道Oauth2是一个授权协议,客户端访问某个被保护的资源之前,需要先通过认证服务器获取accesstoken,而后通过在请求头上带上accesstoken访问资源服务器。
其次,Oauth2认证服务器颁发的令牌有两种:不透明令牌(opaque tokens) 和 透明令牌(not opaque tokens) 说白了其实就是 uuid 和 jwt 的区别。
好了,现在问题来了,客户端带上 accesstoken 访问资源服务器,那资源服务器如何知道你这accesstoken是合法的呢?
当你是获取到的令牌是 uuid时,资源服务器自己肯定无法判断你令牌的有效性。
此时常见的一般有两种校验逻辑:
远程校验
-
授权服务器暴露一个端点,对于有效令牌,它会返回先前向其颁发该令牌的用户所授予的权限,这个端口称为 check_token端点(在很多地方也叫令牌自省端点)。我们可以直接使用认证服务器提供的默认接口/oauth/c
以上是关于如何获取accessToken的主要内容,如果未能解决你的问题,请参考以下文章
如何使用从 Snapchat 收到的 AccessToken 来获取 UserData?
如何使用 IIS 从 Blazor 服务器获取 WindowsIdentity.RunImpersonated(token, action) 的 HttpContext(或 AccessToken)