15

我通过在自定义登录 API 中生成 JWT(JSON Web 令牌)在 Azure 移动服务中使用自定义身份验证。一旦用户拥有 JWT,它就会一直有效,直到达到其编码的到期时间。

除了在每个经过身份验证的请求上针对会话表显式检查 JWT 令牌之外,还有一种方法可以在 JWT 令牌到期时间之前使其无效(就像用户注销时会发生的那样),以便使用该令牌作为值发出的任何后续请求在X-ZUMO-AUTH标头中永远不会到达任何表 API 或自定义 API 脚本?

4

3 回答 3

13

并不真地。当用户在客户端注销时,它使用的 JWT 并没有真正失效 - 它只是从客户端的内存中删除(例如,请参阅托管 SDK上的代码)。JWT 验证是通过根据移动服务的主密钥检查其签名来完成的,除非更改此密钥(这将使您服务的所有JWT 令牌无效,我认为这不是您想要的),否则令牌将是有效期至到期。

由于您自己生成 JWT,您可以考虑使用更短的到期时间,这可能对您的情况有所帮助。

您也可以在移动服务的反馈论坛中推荐此功能。我创建了一个相关的功能建议,您也可以考虑为其添加评论并投票。

于 2014-02-20T15:01:23.037 回答
0

支持 JWT 失效总有原因):

我最终为每个用户存储了一个唯一的字符串,我使用全局公共字符串进行哈希处理,因此我可以根据需要使单个用户的令牌或所有令牌无效。

于 2016-08-30T15:01:28.940 回答
0

不可以。注销用户并使 JWT 令牌无效的唯一方法是将其从会话表中移除/删除。这就是你已经在做的方式。

于 2018-08-02T02:12:18.913 回答