当前位置: 首页 > 知识库问答 >
问题:

访问令牌和刷新令牌流

马新觉
2023-03-14

我已经阅读了JWT和访问令牌和刷新令牌。我知道您必须在很短的时间(分钟)内设置访问令牌过期,并在过期时使用刷新令牌获取新的访问令牌。

我不清楚三件事:

  1. 谁检查访问令牌是否过期?客户端是否通过发送过期的访问令牌和刷新来检查并请求新的访问代码?
  2. 谁检查刷新令牌是否过期?(显然刷新令牌也需要过期,尽管需要更长的时间才能过期)。
  3. 在我看来,如果刷新令牌过期,则必须提示用户重新登录。在某些情况下(移动应用)需要避免这种情况。如何避免?

共有1个答案

颛孙博易
2023-03-14
  • 当访问令牌过期时,API使用访问令牌将返回错误
  • API使用刷新令牌获取新的访问令牌将返回特定的刷新令牌相关错误
  • 关于刷新令牌的刷新,请参见下面的答案

通常,您需要为每个API调用做一些错误处理。

我做了更多的调查,这是我的发现:

  1. 首次登录并授权获取访问令牌和刷新令牌(可选),如果访问令牌永不过期,则不需要刷新令牌=
 类似资料:
  • 这是我的身份验证流程: 用户登录后收到两个令牌(具有过期时间的访问令牌和没有过期时间的刷新令牌) 对于每个用户,刷新令牌存储在数据库中名为refreshTokens的json列中(这是一个数组) 在客户端,访问令牌和刷新令牌都存储在本地存储器上 当需要验证用户时,如果访问令牌过期,将使用刷新令牌创建一个新的访问令牌,并将其发送回用户并保持用户登录 当用户注销时,数据库中存储的刷新令牌(在refre

  • null 很抱歉太啰嗦了。 提前谢了。

  • 我不熟悉,它代表。我混淆了它的两个术语:访问令牌和刷新令牌。 用户注册/登录站点后,我创建和。 将刷新标记保存在数据库或cookie中。 15分钟后,用户标记访问令牌过期。 如果用户空闲2小时,我将从cookie或DB中删除刷新令牌,否则我将使用刷新令牌续订访问令牌。 有什么优化的方法可以达到这个目的吗?

  • https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_app_client_id&response_type=code&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fcommon%2foauth2%2fnativeclient&res

  • 本文向大家介绍oauth 刷新访问令牌,包括了oauth 刷新访问令牌的使用技巧和注意事项,需要的朋友参考一下 示例 资源