繁体   English   中英

在设备上存储 JWT 以保持用户登录

[英]Storing a JWT on device to keep user logged in

我正在开发一个 android 银行应用程序,并希望即使在应用程序关闭后用户也能保持登录状态。 我想让它尽可能安全的想法是在 JWT 中存储一个唯一的设备 ID,然后从令牌中提取 ID,并将其与应用程序启动时从设备获取的设备 ID 进行比较。

我会将令牌存储在SharedPreferences中,但是,我刚刚读到这些设备 ID 并不总是唯一的,因为人们将他们的手机扎根。 最好的解决方案是什么? 如何确定我在启动时验证的令牌已提供给该用户/设备? 我不一定需要使用设备 ID,因此欢迎使用任何其他安全选项。

我认为在像银行应用程序这样敏感的东西中使用持久登录 session 并不是一个好主意,但如果你坚持:

使用SafetyNet Attestation API检查您运行应用程序的设备是否已获得 root 权限,如果是,请阻止用户进行交互。 一旦你这样做了,只需使用带有Mode.PRIVATE的常规SharedPreferences ,没有人应该能够在你的应用程序之外读取这些数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM