【问题标题】:Proper way to authenticate with a web service from Android使用来自 Android 的 Web 服务进行身份验证的正确方法
【发布时间】:2013-08-28 14:30:49
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你也应该使用 SSL
  • 当然可以。这已经处理好了。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      相关资源
      最近更新 更多