我目前正在与Unity合作开发多人回合底牌游戏。 多人游戏体系结构将使用websocket(NodeJS Socket.IO),出于安全考虑,在访问令牌过期后,我将JWT与刷新令牌一起使用。

每当我向websocket发出请求时,我都会发出该请求以及访问令牌。 当访问令牌过期时,我应该立即使用刷新令牌撤消新的访问令牌。 我这里关心的是刷新令牌处理。 我是否应该向客户端发出请求以获取刷新令牌,然后将刷新令牌重新发送回websocket以续订访问令牌? 要续订访问令牌,我将通过数据库验证刷新令牌,以确保该令牌有效。 我想知道整个过程是否合适,因为它是实时多人游戏,因此会造成任何延迟(滞后)。

这里有人可以提出建议吗?

#1楼 票数:0

如果您看到基于访问/刷新令牌进行身份验证的传统HTTP API,则应用程序将自己跟踪令牌的到期时间(这意味着JWT应该具有exp时间戳)。 如果应用程序检测到访问令牌即将过期,它将作为交换令牌的新服务器从服务器获取。

同样的流程在这里有效

  1. 用当前时间戳检查到期时间戳(减去一些缓冲时间)。
  2. 如果访问令牌即将到期,请从服务器获取一个新令牌,然后继续上一个调用。

  ask by user5509129 translate from so

未解决问题?本站智能推荐:

1回复

使用访问令牌和刷新令牌来刷新它们

正在研究如何使用 JWT 并发现对我来说并不明显:为什么刷新访问令牌不同时使用访问和刷新令牌而只使用刷新令牌? 在这种情况下,我们将能够: 验证访问令牌签名,即使它已过期。 从有效负载中获取访问令牌信息,这可能有助于在数据库中查找刷新令牌。
3回复

刷新令牌刷新jwt后如何刷新数据

我一直试图让我的刷新令牌工作一段时间,我希望我很接近。 我的令牌刷新并触发后续200调用导致401的任何调用,但我的页面上的数据不刷新。 访问令牌到期时,会发生以下情况: 在401之后,GetListofCompanyNames使用正确更新的访问令牌返回200,其中包含名称列表。
1回复

撤销刷新令牌

我目前正在构建一个使用 asp.net 和 microsoft jwt 库发布 jwt 令牌和刷新令牌的安全服务。 我的问题是,我有来自存储在 db 中的用户的刷新令牌: 每次用户请求新的访问令牌时,我应该使用当前的刷新令牌替换刷新令牌,还是只标记已撤销的刷新令牌或某种标志? 当有撤销令牌的请求
1回复

什么时候应该刷新令牌?

嗨,我有几个有关JWT刷新令牌及其工作方式的问题。 我已经尝试过在线研究,但无法找到以下问题的答案: 什么时候应该刷新刷新令牌? 刷新令牌的正确寿命是多少? 刷新令牌应存储在哪里? 谢谢!
3回复

SpringSecuritywithoidc:刷新令牌

带有 Spring Security 5 的 Spring Boot 2 可以配置为使用 openID 连接 ID 提供程序进行身份验证。 我仅通过配置 Spring Security 就设法设置了我的项目 - 这适用于各种完美预配置的安全机制,例如缓解会话固定。 但是似乎 Spring Secur
1回复

如何使用Firebase的刷新令牌

刷新令牌的到期时间是什么? 如果与刷新令牌一起使用,是否可以获取新令牌。 如果是,刷新令牌是否有任何时间限制?
1回复

如何生成刷新令牌?

我正在我的一个节点应用程序中实现 JWT。 我想知道,是否有任何明确的格式/结构可以生成刷新令牌? 通过明确的格式,我的意思是刷新令牌是否包含任何像 JWT 这样的声明? 更新让我们假设刷新令牌为: fdb8fdbecf1d03ce5e6125c067733c0d51de209c (取自Auth0
1回复

如何使用jwt刷新令牌

我正在使用 python flask_jwt_extended 来处理 jwt。 我有一个刷新端点(来自文档)如下: 我不确定什么时候应该在我的前端调用这个端点。 当我尝试使用受保护的端点时,我得到以下信息(这是预期的): 我怎么知道在前端到期之前刷新令牌,它会如何执行?