[英]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.