首页 > 编程知识 正文

access token不能为空,token验证原理

时间:2023-05-04 19:44:49 阅读:111862 作者:3660

访问许多大公司的开放api时,您会发现这些api需要传递访问令牌参数。 这个参数是什么? 我应该从哪里得到这个访问令牌?

访问令牌是Oauth2.0协议,是客户端访问资源服务器时必须携带的令牌。 实际上,它是全局唯一的随机字符串。 拥有这个令牌意味着已经得到了用户的认可。 令牌包含什么样的信息? 答案如下。

哪些用户有权在何时对哪些APP做什么

当然,这些信息不能直接从访问令牌中看到。 位于平台端数据库中,平台可以使用access token作为key来查询这些信息,以验证调用方是否具有权限。

如果您不了解Oauth2.0,请参阅本文。 简要介绍Oauth2.0的原理

因此,在调用这些api之前,必须获取访问令牌。 获取方法分为三个步骤。

第一步是实现api。

GET /recieve_code? 代码=

此api接收代码参数。 在步骤3中介绍收到代码后要做什么。 在该步骤中,内部逻辑可以首先实现,只是提供该api的url并且可以在公共网络上访问。

在步骤2中,如果需要调用平台api,则在您的APP上打开平台提供的许可接口,然后将步骤1提供的url传递到该接口。

可以按如下方式打开此接口:

如果用户同意此操作,请输入帐户密码以供批准。 许可证获得批准后,平台将自动调用第一步提供的url并传递代码。

在第3步中,使用代码兑换访问令牌。

平台必须有api,将代码作为参数接收,并返回一个访问令牌和一个刷新令牌。 在第一步的api中调用此平台api。 将获取的访问令牌和刷新令牌保存到服务器。 到此为止,您已经获得了可用的访问令牌。

但是,到了这里还没有结束。 每次需要调用平台的开放api时,都必须重新获取访问令牌吗? 答案是否定的。 在步骤3中获取的访问令牌具有一定的有效期,可以重复使用,直到有效期过期。 那么,如果访问令牌过期怎么办?

首先,你怎么知道access token过期了? 答案是,在使用访问令牌访问平台的开放api时,如果访问令牌过期,api将报告错误并返回token无效的错误。 此时,我们应该用刷新令牌更新访问令牌。 更具体地说,就是查找平台文档,然后找到用于更新访问令牌的api。 此api始终需要刷新令牌作为参数。 按照文档调用就可以了。

转自: https://www.cn blogs.com/blowing 00/p/12452446.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。