Android应用程序的身份验证模型

2024-04-05

我将构建一个由两部分组成的系统: 1.PHP网站(CakePHP)。 2. 移动应用程序(Android 和 iPhone)。

用户必须使用 usr&pwd 登录才能使用我的系统(网络和移动应用程序)。但我在用户身份验证方面没有太多经验。我应该存储什么:usr&pwd、令牌字符串。我想为我的系统(Web 和移动应用程序)找到一个“用户身份验证模型”。

有没有人有用户身份验证的经验。有人知道如何实施吗?


这就是我们为我们的应用程序所做的,

  1. 首先,我们从应用程序发送用户名和密码到服务器。

  2. 在服务器上,它们对凭据进行身份验证并返回由请求令牌和成功标志组合而成的响应。

  3. 在您的应用程序中,我们检查成功标志。如果它设置为 true,我们将保存请求令牌并将其用于所有接下来向服务器发出的请求。

  4. 现在,当服务器收到请求时,它会检查数据库以查看用户是否拥有此令牌。 如果是,它会检查最后一次请求的时间。(这是为了处理用户登录超时的情况。)。如果当前时间与上次请求时间之间的差值超过您设置的限制,您将向应用程序响应需要新的登录请求才能生成新令牌。否则,您将继续请求并返回结果。

    我工作场所的服务器端人员就是这样做的。我在客户端工作。但这基本上就是这样做的。

编辑:关于令牌。 它基本上是一个由随机生成器方法生成的 32 个字符的字符串。因此,当用户发送登录请求并且登录成功时,我们使用生成器方法创建一个令牌,并将其存储到我们的服务器数据库中,因为用户请求令牌以及当前时间和日期。

因此,当用户向服务器发送另一个请求时,我们首先获取令牌并检查是否存在具有该令牌的用户。如果有,那么下一步检查是看看这是否是一些旧的请求令牌。所以我们用数据库中保存的时间来检查当前时间。如果请求是在限制(例如 5 分钟)之前发送的,那么我们将数据库中的最后一个请求时间更新为当前时间,并将结果返回给客户端。

使用此方法,您可以通过检查令牌和上次请求时间来对每个请求进行身份验证。

假设您希望您的应用程序始终登录,直到用户明确注销。在这种情况下,您不需要检查每个请求时间。您所需要做的就是将请求令牌保存在客户端设备上。当用户注销时,从客户端删除令牌。因此,由于他没有令牌,他下次将被要求登录。在这种情况下,在客户端设备上保存请求令牌比保存用户名和密码更安全。

有许多函数可用于生成随机令牌。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android应用程序的身份验证模型 的相关文章