Android身份验证和会话

时间:2013-04-11 13:37:34

标签: android session authentication

如何在Android应用中进行身份验证后让用户登录?我做了一些阅读,坦率地说,对会话有点缺乏经验,但看起来在用户将其凭证提交给服务器并经过身份验证后,服务器会发回会话ID。我认为这个会话ID存储在用户的Android设备上的某个地方。

我应该使用sharedPreferences,sqlite db还是本地存储来保存会话ID?我读到共享首选项有点不安全,而sqlite数据库或本地存储只限于一个应用程序。

此外,我应该向服务器发出HTTP请求以发送/接收此信息,还是可以通过套接字连接完成。最终我想制作一个使用套接字的多人游戏,不过我认为登录等某些功能不一定要通过套接字,不确定游戏开发者通常是否采用标准或通常的方式。

1 个答案:

答案 0 :(得分:0)

  

我应该向服务器发出HTTP请求以发送/接收此信息

我认为您不希望通过HTTP发送身份验证。潜在的人可能会拦截您的包并以纯文本形式回读数据。如果您的Android应用程序验证的服务器上有API,我建议使用HTTPS进行通信。

  

我应该使用sharedPreferences,sqlite db还是本地存储来保存会话ID?

我自己在'MODE_PRIVATE'中使用sharedPreferences来存储ID。您可以使用不同的模式创建sharedPreferences文件。私有模式意味着它只能由具有相同用户ID的应用程序或应用程序访问。所有模式都在这里解释:

http://developer.android.com/reference/android/content/Context.html#getSharedPreferences%28java.lang.String,%20int%29

如果您想在Android设备上存储密码和用户,我建议您使用数据库。确保用“盐和胡椒”确保你的密码:

http://barkingiguana.com/2009/08/03/securing-passwords-with-salt-pepper-and-rainbows/

  

不确定游戏开发者通常会采用标准或通常的方式吗

无法帮助您解决这个问题,但我认为如果您做一些研究,您将能够解决这个问题;)。