Django Rest JWT身份验证-刷新令牌

Django Rest JWT身份验证-刷新令牌,django,angular,algorithm,authentication,jwt,Django,Angular,Algorithm,Authentication,Jwt,在刷新令牌的阶段,我的Django REST应用程序和JWT身份验证模块()有问题 刷新令牌的默认逻辑表示,可以“刷新”未过期的令牌,以获得具有更新的过期时间的全新令牌。过期时间设置为 JWT框架为刷新令牌提供了一个API,您应该使用它来获取新令牌,从而在web应用程序上重置每个“用户操作”的过期时间。 这意味着来自我的Angular6 SPA的每个呼叫都必须重置令牌的过期时间 我想有三种方法: 1) 来自FE的每个调用都必须回调api以刷新令牌。这意味着呼叫数始终重复。 不优雅 2) 调用ap

在刷新令牌的阶段,我的Django REST应用程序和JWT身份验证模块()有问题

刷新令牌的默认逻辑表示,
可以“刷新”未过期的令牌,以获得具有更新的过期时间的全新令牌
。过期时间设置为

JWT框架为刷新令牌提供了一个API,您应该使用它来获取新令牌,从而在web应用程序上重置每个“用户操作”的过期时间。 这意味着来自我的Angular6 SPA的每个呼叫都必须重置令牌的过期时间

我想有三种方法:

1) 来自FE的每个调用都必须回调api以刷新令牌。这意味着呼叫数始终重复。 不优雅

2) 调用api根据alghoritm(在FE中)刷新令牌,以避免重复调用。 哪个是阿尔霍里特

3) 重置令牌的过期时间,以后端来自FE的每个调用,并使用来自FE的相同令牌。 我不能这样做

有什么建议吗


谢谢

您不需要在每次api调用时刷新令牌。就在到期前几分钟。大多数令牌都包含过期时间。因此,每次它几乎过期时,您都需要刷新它。类似这样的内容:
token.expiration-curenttime=<5分钟


我相信有一些图书馆可以为你做到这一点。也许
Auth0

使用这种方法,“会话”永远不会过期。如果浏览器选项卡在没有任何用户操作的情况下打开,则会话“永远”处于活动状态。这是正确的工作方式吗?我看没有问题。但是,如果您这样做了,您可以编写一些简单的代码来在不活动之后删除令牌。