所以我有这个 ASP.NET MVC 4 Web 应用程序,它的行为非常像 Web 服务。客户端发送请求,Web 服务返回一个 JSON 对象。现在,我必须从 Android 应用程序对我的用户进行身份验证。在客户端执行此操作的正确方法是什么,因为我不再有 Web 浏览器来存储 cookie 以便我通过服务器进行身份验证。SSL 已经处理好了。
我一直在考虑几种直接的身份验证方法,但我担心存在一些我可能不知道的安全漏洞。
我可以将用户凭据(用户名和密码)存储在安装了应用程序的 Android 手机上的 SQLite 数据库中,然后将这些凭据与每个请求一起发送到服务器进行身份验证吗?(当然,我正在考虑在将密码存储到数据库之前对其进行哈希处理)。
这种方法不安全吗?其他应用程序通常如何对其服务进行身份验证:如 eBay、Facebook 等?
问问题
1231 次
2 回答
2
保存在私人存储中的数据相对安全(至少在非 root 设备上)。这包括:
- sqlite 数据库(如果不是世界可读的)
- 共享首选项
如果您想更好地与帐户管理器集成(例如,将帐户列在设备的设置中),您可以编写一个 AccountAuthenticator。请参阅创建自定义帐户类型或编写您自己的 Android 身份验证器。不确定 eBay 和 Facebook,但 Firefox Sync 和 Evernote 就是这样做的。
于 2013-08-28T15:42:21.453 回答
1
您可以使用OAuth 2 - 许多教程和实现都是现成的。
于 2013-08-28T15:02:13.050 回答