Rails Devise:Doorkeeper: 身份验证,更新字段(设计)
Posted
技术标签:
【中文标题】Rails Devise:Doorkeeper: 身份验证,更新字段(设计)【英文标题】:Rails Devise:Doorkeeper: Authentication, updating fields (devise) 【发布时间】:2021-11-20 19:59:07 【问题描述】:当门卫被用作使用 oauth 的授权提供者时,我如何更新设计字段。
我使用 Devise 的 Authenticate 方法如下所示。
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
但是,我想更新相应的设计用户字段以成功进行身份验证。这些领域包括: 登录计数 current_sign_in_at current_sign_in_ip last_sign_in_ip failed_attempts 等等 谢谢
【问题讨论】:
【参考方案1】:使用设计中的可跟踪模块,我可以更新字段:
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
end
【讨论】:
以上是关于Rails Devise:Doorkeeper: 身份验证,更新字段(设计)的主要内容,如果未能解决你的问题,请参考以下文章
markdown [rails:devise] Ruby on Rails的身份验证gem。 #ruby #rails