使用Android的Web服务进行身份验证的正确方法

时间:2013-08-28 14:30:50

标签: android asp.net web-services authentication credentials

所以我有这个ASP.NET MVC 4 Web应用程序,其行为非常像Web服务。客户端发送请求,Web服务返回JSON对象。现在我已经到了必须从Android应用程序验证我的用户的程度。在客户端执行此操作的正确方法是什么,因为我不再使用Web浏览器来存储cookie以供我对服务器进行身份验证。 SSL已经得到了解决。

我一直在考虑几种直接的身份验证方法,但我担心会遇到一些我可能不知道的安全漏洞。

我可以将用户凭据(用户名和密码)存储在安装了应用程序的Android手机上的SQLite数据库中,然后将这些凭据与每个请求一起发送到服务器进行身份验证吗? (当然,我想在将密码存储到数据库之前对其进行哈希处理)。

这种方法不安全吗?其他应用程序通常如何通过其服务进行身份验证:如eBay,Facebook等?

2 个答案:

答案 0 :(得分:2)

保存在私有存储中的数据相对安全(至少在非root设备上)。这包括:

如果您希望与帐户管理员更好地集成(例如,在设备的设置中列出该帐户),您可以编写AccountAuthenticator。请参阅Creating a Custom Account TypeWrite your own Android Authenticator。不确定eBay和Facebook,但这就是Firefox Sync和Evernote的例子。

答案 1 :(得分:1)

您可以使用OAuth 2 - 很多教程和实现都可以使用。