注册时自动生成Devise Authenticity Token

时间:2012-03-05 22:36:40

标签: ruby-on-rails ruby-on-rails-3 authentication devise

我目前有一个使用常规Devise身份验证进行登录和注销的应用程序,但使用Devise的token_authenticatable模块创建一个独特的令牌,该令牌在从书签中向应用程序提交数据时使用。每个用户都会获得一个独特的书签,其真实性令牌直接存入javascript。但是,当前设置了Devise的方式,默认情况下用户没有身份验证令牌。他们必须转到/ edit / users页面,按“Generate Token”,然后他们在db中有一个。

我需要一种方法告诉Devise在注册时自动为每个用户生成一个身份验证令牌。

我是新手,我不知道在哪里找到Devise控制器来编辑它,即使我能找到它们,我也不完全确定我会做什么。欢迎任何帮助!感谢。

1 个答案:

答案 0 :(得分:15)

您可以使用ensure_authentication_token的帮助Devise::Models::TokenAuthenticatable  模块。

所以你User类可能是这样的:

class User < ActiveRecord::Base
  devise :database_authenticatable

  before_save :ensure_authentication_token
end