2010-08-15 70 views
4

首先,在服务器端不支持OAuth或其他功能,只需要查询一个正常的用户名密码数据库。如何安全地在Android应用程序中实现登录功能?

我想为网站实现一个android客户端。我的问题是:

  1. 如何安全地登录?与HTTPS?
  2. 如何安全地将用户登录信息存储在手机中,以便用户下次无需任何输入即可登录。
  3. 如果用户在登录后执行一些操作,如何确认自己?如何保持会话? 通过复制和重新发送像“jsessionid”一些饼干?
+0

是您的服务器处理用户会话? – 2012-08-15 16:19:14

回答

0
  1. HTTPS显然是为用户名和密码的最佳选择将在设备和服务器之间进行加密(即如果用户使用机场无线网络连接他们的凭据不能是“嗅”)
  2. 您可以使用PreferenceManager.getDefaultSharedPreferences()将设备上的密码存储在SharedPreferences中,然后在代码中自动进行访问。您可以为用户提供一个清除密码的选项。在无根设备上,没有其他应用程序或设备可以访问您的应用程序的专用存储,因此数据是安全的。在根源设备上它是可访问的,但安全性是生根的一个缺点
  3. 它确实取决于服务器。大多数使用phpsessionid或jsessionid cookie的网站。在这种情况下,看到Android Http get Session CookieHow do I make an http request using cookies on Android?

OAuth是当然首选的,因为这可以防止实际应用,从存储/直接具有访问服务器(而不是,它基本上是一个长期的cookie)

相关问题