首页 > 解决方案 > 使用 JWT 的移动身份验证

问题描述

我需要对与 REST api 通信的移动应用程序的用户进行身份验证。

经过一番研究,我发现了两种方法:

  1. Firebase 身份验证(不,因为我有自己的数据库)
  2. 智威汤逊的使用

所以我对 JWT 有疑问:

如果我使用 HTTPS 连接,有人可以窃取令牌吗?(例如中间没有人)

API 必须为每个请求发送一个新令牌?(这样我可以减少令牌的生命周期?)。

为了避免用户重新连接,我需要使用刷新令牌,可以是另一个JWT吗?

标签: androidiosrestsecurityjwt

解决方案


  1. 这取决于,如果您将其存储在 localstorage 或 sessionStorage 中,则可以通过 xss 攻击窃取它。如果您存储在 httpOnly 安全 cookie 上,那就更难了。但是当您使用 https 时,不可能从请求中窃取它。
  2. 不,有一个令牌有效时间,例如 1 小时、1 天等...
  3. 是的。它应该是另一个令牌,称为刷新令牌,您可以在此处阅读更多相关信息: https ://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/

推荐阅读