我目前有一个使用常规Devise身份验证进行登录和注销的应用程序,但使用Devise的token_authenticatable模块创建一个独特的令牌,该令牌在从书签中向应用程序提交数据时使用。每个用户都会获得一个独特的书签,其真实性令牌直接存入javascript。但是,当前设置了Devise的方式,默认情况下用户没有身份验证令牌。他们必须转到/ edit / users页面,按“Generate Token”,然后他们在db中有一个。
我需要一种方法告诉Devise在注册时自动为每个用户生成一个身份验证令牌。
我是新手,我不知道在哪里找到Devise控制器来编辑它,即使我能找到它们,我也不完全确定我会做什么。欢迎任何帮助!感谢。
答案 0 :(得分:15)
您可以使用ensure_authentication_token
的帮助Devise::Models::TokenAuthenticatable
模块。
所以你User
类可能是这样的:
class User < ActiveRecord::Base
devise :database_authenticatable
before_save :ensure_authentication_token
end