如何注册设计登录事件?
问题描述:
我正在使用设计和Omniauth提供登录通过本机(设计),Facebook和谷歌+如何注册设计登录事件?
用户理论上可以用任何方法连续登录,我想注册最后一种身份验证方法。对于Facebook和G +,我可以将它记录在我用户表的find_ *方法中,但Devise'native'auth是一本封闭的书。
我能想到的最好的办法是更新控制器的会话变量只是登录,然后使用*长认证回调或子类的会话控制器
这里之前:Ruby on Rails Devise code after login
更新用户使用auth类型后,但似乎有点混乱。
答
Devise有一个方法,你可以调用它,它将在你的用户模型中的数据库认证之后运行,然后你可以在这里更新属性。
class User < ActiveRecord::Base
...
devise :database_authenticatable, :omniauthable ....
...
def after_database_authentication
update_attribute(:auth_type, 'database')
end
...
end
太棒了。非常感谢。 – Ian 2015-03-26 00:54:44