保存用户凭据
Saving user credentials
我正在创建一个应用程序,它使用API[=33=检索数据] 需要 电子邮件和密码 身份验证。
我目前正在将数据以纯文本形式保存到 SharedPreferences。
- 在我看来这不是一个完全安全和高质量的解决方案
- 当我在互联网和 Whosebug 上搜索时,每个人都提供了 SharedPreferences 作为解决方案
能征求一下您的意见吗,或者问一下您有什么建议?如何打造优质的登录系统?
附加信息:
用户可以选择在下次打开应用程序时保持登录状态。如果他不选择,我仍然必须保留用户凭据,直到应用程序关闭(由于 API 查询,而应用程序是 运行)。
(Android 申请 Java)
提前感谢您的想法和意见。
问题
不建议在移动应用程序中存储普通 username/password,因为它不安全。
解决方案
使用Token-Based Authentication,其工作流程如下:
客户端发送username/password到服务器
服务器检查username/password是否有效,然后生成token发送给客户端
客户端将此令牌保存到本地存储,例如文件、SharePreference、数据库等。从现在开始使用此令牌调用 API
好处
不需要存储plain username/password
如果用户注销并退出应用程序,您可以存储纯用户名。下次他们打开应用程序时,我们可以在登录屏幕上显示用户名(更好的用户体验),他们只需要输入密码即可。
Token 通常有时间过期,意思是它能活多久。当令牌过期时,您有 2 个解决方案:
退出应用程序并显示登录屏幕,用户需要输入密码才能获得新令牌
使用refresh token获取新令牌
回复您的关注
The user has the choice of staying logged in the next time the application is turned on. If he chooses not, I still have to keep the user credentials until the application closes (due to API queries while the application is running).
当用户选择“下次登录不再保留”选项时,您应该将其保存到本地存储
每次用户打开应用程序,如果此选项为真,则清除令牌,显示登录屏幕。
如果此选项为 false 且令牌未过期,请转至主屏幕,否则获取新令牌。
更新
如果您无法更改系统的身份验证机制,那么您应该选择以下选项之一:
查看更多信息here。
我正在创建一个应用程序,它使用API[=33=检索数据] 需要 电子邮件和密码 身份验证。
我目前正在将数据以纯文本形式保存到 SharedPreferences。
- 在我看来这不是一个完全安全和高质量的解决方案
- 当我在互联网和 Whosebug 上搜索时,每个人都提供了 SharedPreferences 作为解决方案
能征求一下您的意见吗,或者问一下您有什么建议?如何打造优质的登录系统?
附加信息:
用户可以选择在下次打开应用程序时保持登录状态。如果他不选择,我仍然必须保留用户凭据,直到应用程序关闭(由于 API 查询,而应用程序是 运行)。
(Android 申请 Java)
提前感谢您的想法和意见。
问题
不建议在移动应用程序中存储普通 username/password,因为它不安全。
解决方案
使用Token-Based Authentication,其工作流程如下:
客户端发送username/password到服务器
服务器检查username/password是否有效,然后生成token发送给客户端
客户端将此令牌保存到本地存储,例如文件、SharePreference、数据库等。从现在开始使用此令牌调用 API
好处
不需要存储plain username/password
如果用户注销并退出应用程序,您可以存储纯用户名。下次他们打开应用程序时,我们可以在登录屏幕上显示用户名(更好的用户体验),他们只需要输入密码即可。
Token 通常有时间过期,意思是它能活多久。当令牌过期时,您有 2 个解决方案:
退出应用程序并显示登录屏幕,用户需要输入密码才能获得新令牌
使用refresh token获取新令牌
回复您的关注
The user has the choice of staying logged in the next time the application is turned on. If he chooses not, I still have to keep the user credentials until the application closes (due to API queries while the application is running).
当用户选择“下次登录不再保留”选项时,您应该将其保存到本地存储
每次用户打开应用程序,如果此选项为真,则清除令牌,显示登录屏幕。
如果此选项为 false 且令牌未过期,请转至主屏幕,否则获取新令牌。
更新
如果您无法更改系统的身份验证机制,那么您应该选择以下选项之一:
查看更多信息here。