<分区>
我目前正在为我工作的公司开发一个应用程序,它有一个用户名/密码登录系统。但我仍在决定在用户登录后让他保持登录状态的最佳方法是什么。
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/
相关文章:
c# - 在配置中实现 JWT 时出现 ASP.net Core API 错误
Azure Active Directory,允许的 token 受众似乎没有执行任何操作
javascript - 如何在客户端处理多个请求/API 调用并行的 JWT 刷新 token ?
android - ViewPropertyAnimator 的 translateYBy() 与 yBy() 方法有什么区别?
java - 我怎样才能找到所有具有特定 Intent 过滤器的包?
ios - PDF 中 Times-Roman 字体缺少宽度