android - 用户正确登录后在应用程序中使用 JWT

标签 android ios jwt

<分区>


想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它.

关闭 5 年前

我目前正在为我工​​作的公司开发一个应用程序,它有一个用户名/密码登录系统。但我仍在决定在用户​​登录后让他保持登录状态的最佳方法是什么。

JWT's看起来很有前途,但该应用程序的用户有时会在较长时间内(2 周以上)不访问该应用程序。 JWT 应该有有效期(让我们保持这种状态)。但是,即使用户的 JWT 在应用程序中已过期,保持用户登录的好方法是什么?

从安全的角度(以及作为开发人员的我)我会说将它们注销。并让他们再次登录。但我的经理对此有其他想法。除了完全删除 JWT 的到期日期之外,还有另一种方法可以实现这一点(我永远不会删除到期日期。如果删除了到期日期,它就和根本没有登录系统一样安全。 ..)

希望听到你的想法。
亲切的问候,
凯文沃尔特

最佳答案

我们通常使用 OAuth2 并让访问 token 为 JWT。这样,只要 JWT 有效,我们就可以缩短往返行程,然后使用带有刷新 token 的刷新流来获取新的 JWT 访问 token ,只要刷新 token 有效即可。

访问 token 的有效期很短(4-8 小时),而刷新 token 的有效期可以很长(30-365 天)。只要应用保持刷新 token 的安全(例如在钥匙串(keychain)中),您就可以提供合理的安全性,而不会带来糟糕的用户体验。

关于android - 用户正确登录后在应用程序中使用 JWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49845730/

上一篇:ios - 将模型对象存储在表格 View 单元格中是一种好习惯吗?

下一篇:ios - sqlite3写入容量是如何计算的

相关文章:

ios - 临时分发失败

c# - 在配置中实现 JWT 时出现 ASP.net Core API 错误

Azure Active Directory,允许的 token 受众似乎没有执行任何操作

javascript - 如何在客户端处理多个请求/API 调用并行的 JWT 刷新 token ?

android - ViewPropertyAnimator 的 translateYBy() 与 yBy() 方法有什么区别?

java - 我怎样才能找到所有具有特定 Intent 过滤器的包?

ios - 以确定性顺序遍历 CoreData 对多关系

ios - PDF 中 Times-Roman 字体缺少宽度

android - 如何在 Android 中对字符串进行 SHA1 哈希处理?

java - 错误: thread attach failed