智威汤逊(OAuth的?)流量

智威汤逊(OAuth的?)流量

问题描述:

我想了解如何实现我的应用程序JWT令牌认证应用。智威汤逊(OAuth的?)流量

据我所知,用户在登录请求中输入凭证(用户名+密码),并同时接收访问令牌(比如30分钟)和刷新令牌(比如60天)。

每当Access令牌过期时,我将使用username + refreshtoken创建一个新的Access令牌。

1)第一个问题:这是正常的,每当发生这种情况,我所有的 主屏幕请求将直到我得到了新的内容和失败,然后我 需要用新的重发请求访问令牌?或者我应该在任何其他应用程序流之前在闪屏中执行令牌验证 ?

这将持续到60天过去并刷新令牌到期。 ¿这里发生了什么?

我不记得曾经Facebook或(几乎)所有应用程序再次请求我的凭据。

2)是否存储了密码,以便应用程序可以再次执行后台登录 以检索两个令牌? (我不希望存储密码以任何方式)

-

3)或者是到期前刷新令牌好歹刷新? (例如,只要用户在60天之前一直打开应用,就刷新它)

+1

问题3 - JWT(JSON Web令牌)自动延长到期日期:https://*.com/a/26834685/2124535 Auth0 dev的有深刻见解 – nathan

1)如果您提供流畅的用户体验 - 例如,您可以将JWT过期错误与其他任何错误区分开来,并执行访问令牌更新而不显示错误。第二种方式也被使用,请参考所谓的“JWT滑动失效”并考虑其优缺点。主要原因是 - 您的授权服务器(AS)数据库中是否存在大量有效的访问令牌? 2)例如,某种程度上相关的RFC未指出不推荐这种背景JWT更新以这种方式流动。但是,考虑到刷新令牌等实体可用于获取新的访问令牌,其妥协可能导致更严重的后果。因此,在更新令牌更新之前需要某种用户操作可能被认为是更好的做法。

3)当然你应该考虑AS时会抛出“刷新令牌过期”错误的情况。让我们看看你有访问令牌+刷新令牌包,你有两种类型的错误,只是为了区别他们 - “令牌验证错误”(常见的一种,你不知道什么是错与您的任何令牌)和一般的“错误“(这显然与代币无关)。

  1. 您执行一些请求。响应是“令牌验证错误”。您建议访问令牌已过期并使用您的刷新令牌执行访问令牌更新流程。
  2. 你再次获得“令牌验证错误”的回应。您建议您的刷新令牌已过期并开始执行刷新令牌更新流程。

如此简单的使用JWT的工作流程可能如下所示。