0

我目前正在使用 Unity 开发多人回合基础卡牌游戏。多人架构将使用 websocket (NodeJS Socket.IO),出于安全考虑,我在访问令牌过期后使用带有刷新令牌的 JWT。

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

这里有人可以提供一些建议吗?

4

1 回答 1

1

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

相同的流程在这里有效

  1. 使用当前时间戳检查到期时间戳(减去一些缓冲时间)。
  2. 如果访问令牌即将过期,请从服务器获取一个新令牌并继续前一个调用。
于 2017-08-30T19:39:18.520 回答