我有一个简单的RESTful后端,我使用HTTP Basic over HTTPS
进行身份验证。它工作正常,但我正在寻找一个适当的解决方案来存储凭据(用户名+密码)。
有很多例子,大多数人建议使用Account Manager
存储密码。 AFAIK客户经理只存储OAUTH(和类似的)账户并自动生成令牌等。但是如何使用它来存储和获取原始密码?它甚至可能吗?
其他人建议将其存储为散列值,但这对我来说没有意义(在一天结束时我需要访问原始字符串)。
对于另一个How to use HTTP basic and android
问题感到抱歉,但到目前为止我无法找到合适的答案并将数据存储在本地sqlite数据库中,因为纯文本似乎不合适。
答案 0 :(得分:3)
我对你的项目/管理风格有一些想法。
我建议这样做。 首先注册(不需要密码和用户名,它创建用户" Guest123")或使用密码登录服务器(由设备进行哈希处理,从用户获取正常的edittext)。 然后检查服务器上的正确性,如果有效,则发送一个身份验证令牌和该令牌的生存时间。 将其存储在共享偏好中。 如果此令牌无效(因为时间结束,登录到另一台设备上......),请向服务器发送每次请求时发送令牌,告诉用户。
这里可以做一些调整,但是一开始它可以帮助你完成项目。
答案 1 :(得分:2)
当然,您也可以使用Account Manager
来存储密码。这是方法:
addAccountExplicitly (Account account, String password, Bundle userdata)
您可以使用此方法获取密码:
getPassword(Account account)