使用带有用户名/密码组合的令牌

时间:2014-10-28 17:14:49

标签: ios ruby-on-rails api

我正试图想出一种方法将标记和用户名/密码组合集成到rails API中。 API的前端是一个iOS应用程序,需要用户名/密码组合来跟踪用户的个人资料。

thoughtbot/ios-on-rails github repo和thoughtbot's iOS on Rails本书之后,我可以使用设备令牌来处理身份验证,从而创建用户模型。

然而,正如思想机构团队所指出的那样:

  

我们的应用不需要用户名/密码登录,相反,我们会   在第一次运行应用程序时创建一个用户对象,然后一致   以此用户签署我们的请求。此行为对于那些应用程序非常有用   不需要登录,或者有某种访客模式。

以下是此类基于令牌的身份验证API的迁移文件:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.timestamps null: false
      t.string :device_token
    end

    add_index :users, :device_token
  end
end

在我的情况下,我正在构建一个需要在客户端上登录用户名/密码的iOS应用程序,我需要在rails中创建数据库模式来处理这个问题。我正在考虑如何构建这个:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.timestamps null: false
      t.string :first_name, null: false
      t.string :last_name, null: false
    end
  end
end

class CreateTokens < ActiveRecord::Migration
  def change
    create_table :tokens do |t|
      t.timestamps null: false
      t.string :device_token
    end
  end
end

使用以下型号:

class User < ActiveRecord::Base
  has_many :tokens
end

class Token < ActiveRecord::Base
  belongs_to :user
end

我走在正确的轨道上?请指教。

1 个答案:

答案 0 :(得分:0)

看起来正确的

可能想要使用名为身份验证令牌的表名,如以下帖子所示

http://www.brianauton.com/posts/token-authentication-devise.html