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

刷新令牌如何工作(使用jwt)

裘嘉木
2023-03-14

我使用jwt为用户在我的应用程序上执行操作提供授权。它工作得很好,因为我不必访问数据库来查看用户是否有效。我在jwt中遇到的问题是,当令牌过期时,用户必须再次登录。在网上阅读我一直在阅读刷新令牌可以用来解决这个问题,但没有白痴证明解释它如何工作。它们是如何工作的?需要数据库访问吗?

共有1个答案

柯国安
2023-03-14

关于刷新令牌的具体工作方式,没有硬性规定。

刷新令牌的想法是某种长期存在的令牌,将来可以交换为新的 JWT 访问令牌。这允许客户端为用户请求新的 JWT 访问令牌,而无需用户手动进行身份验证。

完全可以分发也是JWT的刷新令牌,这允许您验证刷新令牌并授予新的JWT访问令牌,而无需按您的请求访问数据库。刷新令牌也可能是您在数据库中查找的不透明字符串。

分发长期JWT更新令牌的缺点是它们更难撤销。可以在存储器中保存一个被撤销的刷新令牌的列表,在授予新的访问令牌之前可以检查该列表,但是这消除了它们的“无状态”特性。

 类似资料:
  • 我正在使用Cognito用户池对系统中的用户进行身份验证。成功的身份验证将提供一个ID令牌(JWT)、一个访问令牌(JWT)和一个刷新令牌。这里的文档清楚地提到了刷新令牌可以用于刷新访问令牌,但没有提到如何使用。我的问题是,一旦我的访问令牌过期,我如何使用存储的刷新令牌再次刷新我的访问令牌? 我搜索了JavaScript SDK,但找不到任何方法来做同样的事情。我肯定错过了什么。 我还想通过Lam

  • 问题内容: 我们的React Native Redux应用程序使用JWT令牌进行身份验证。有许多操作需要此类令牌,​​并且例如在应用加载时会同时分派许多令牌。 例如 双方并要求JWT。我们将令牌保存在和中。我的问题是如何处理令牌到期。 最初,我将使用中间件来处理令牌到期 } 我遇到的问题是,对于令牌和操作,都会刷新令牌,因为在分发令牌和令牌时,令牌将过期。理想情况下,我想“暂停”需要身份验证的操作

  • 我遇到的问题是,和操作都将刷新令牌,因为在分派时,令牌将过期。理想情况下,我希望“暂停”需要身份验证的操作,直到令牌刷新。有没有一种方法可以用中间件做到这一点?

  • 我正在实现一个支持刷新令牌的OAuth2服务器,但是,有一些东西我不能完全理解。 当用户通过请求新的访问令牌,并且他/她请求的范围小于原始访问令牌的范围(5个范围中的3个)时。刷新令牌应该具有原始作用域还是刷新令牌应该具有请求的新作用域? > 如果刷新令牌请求了新的作用域,这是否意味着如果它们继续请求较小的作用域,它们最终将耗尽作用域? 刷新令牌是否应保留原始作用域?这意味着返回的访问令牌对于刷新

  • 我使用docusign身份验证流作为 登录时 让url=”https://account-d.docusign.com/oauth/auth?response_type=token 窗打开(url,“U self”);成功验证后,返回/token\u type/state中的access\u token/expires\u。 请指导如何refresh_token?refresh_token如何获得

  • 我面临一个问题,以刷新谷歌访问令牌在服务器端。 我从谷歌认证服务器得到的响应只是403状态代码。信息是这样的 仅仅为了刷新访问令牌,在我的服务器上使用SSL是强制性的吗?它已经在我的本地服务器上测试过,没有附加任何SSL到它。