使用oauth将doorkeeper用作授权提供者时,如何更新devise字段。
使用Devise时,我的身份验证方法如下所示。
def authenticate(email, password)
user = User.find_for_authentication(email: email)
if user.active_for_authentication?
user = user.try(:valid_password?, password) ? user : nil
else
user = nil
end
user
end但是,我想要更新相应的devise用户字段,以便成功进行身份验证。这些字段包括: sign_in_count、current_sign_in_at、current_sign_in_ip、last_sign_in_ip、failed_attempts等,谢谢
发布于 2021-09-29 13:03:38
使用devise的trackable模块,我可以更新字段:
resource_owner_from_credentials do |_routes|
ActiveRecord::Base.transaction do
user = User.authenticate(params[:email], params[:password])
user.update_tracked_fields!(request) unless user.nil?
end
endhttps://stackoverflow.com/questions/69367439
复制相似问题