【问题标题】:Ruby on Rails - User Authentication With Mobile ClientRuby on Rails - 使用移动客户端进行用户身份验证
【发布时间】:2016-05-25 22:44:53
【问题描述】:

我正在使用 Ruby on Rails 应用程序实现 iOS 移动应用程序的后端。我目前正在进行用户创建和身份验证,并遇到了一些问题。我有一个 API,允许用户通过 RESTful 路由创建用户帐户。我现在正在尝试设置某种进程,允许用户登录到新创建的帐户。我认为登录过程应该是这样的:当用户登录 api 时创建某种移动会话,当他们注销时,客户端从他们的一端终止会话。首先我想知道这是否是实现这样一个系统的正确方法?

其次,我想了解一些关于如何设置该系统的想法。我的第一个想法是创建名为 xsession 或 msession 的新数据库模型,其中包含所有设备特定变量,例如与会话相关的设备令牌和用户信息。会话将在密码与已存储在user 数据库模型中的密码进行验证后创建。该会话将与用户 ID 绑定,并在注销时从数据库中删除。这将创建一个表,其中的行将代表所有活动的移动会话。这是最好的方法吗?让我知道大家的想法,这是我第一次实现这样的东西,我很高兴看到我是否走在正确的轨道上。

【问题讨论】:

    标签: ios ruby-on-rails ruby rest session


    【解决方案1】:

    使用身份验证令牌: http://matteomelani.wordpress.com/2011/10/17/authentication-for-mobile-devices/

    您可以将 auth_token 放在 users 表中,或者有一个单独的表,例如称为 devices 的表,您可以在其中存储设备信息和身份验证令牌。

    【讨论】:

      【解决方案2】:

      iOS 网络库像浏览器一样管理会话 cookie,这意味着它将存储从 Rails 服务器接收到的会话 cookie,并在每个后续请求中发回。

      这意味着您仍然可以使用标准 Rails 会话来验证使用移动客户端的用户。

      另外,请注意,没有过期日期的 cookie 被视为“仅限会话”,并且会在您重新启动应用程序时被清除(请参阅:Persisting Cookies In An iOS Application?)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-04
        • 1970-01-01
        • 2012-01-10
        • 1970-01-01
        • 2022-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多