gpt4 book ai didi

Android 身份验证和 session

转载 作者:行者123 更新时间:2023-12-01 01:25:20 25 4
gpt4 key购买 nike

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

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

此外,我应该向服务器发出 HTTP 请求以发送/接收此信息,还是可以通过套接字连接来完成。最终我想制作一个将使用套接字的多人游戏,尽管我认为某些功能(如登录)不一定必须通过套接字,但不确定游戏开发人员是否通常采用标准或通常的方式来执行此操作。

最佳答案

should I make an HTTP request to the server to send/receive this info

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

Should I use sharedPreferences, the sqlite db, or local storage to save the session id?

我自己使用“MODE_PRIVATE”中的 sharedPreferences 来存储 ID。您可以使用不同的模式来创建 sharedPreferences 文件。私有(private)模式意味着它只能由您的应用程序或具有相同用户 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/

not sure if there's a standard or usual way that game developers usually do this

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

关于Android 身份验证和 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com