gpt4 book ai didi

ruby-on-rails - 典狱长 custom_failure

转载 作者:行者123 更新时间:2023-12-04 06:06:47 28 4
gpt4 key购买 nike

我使用设计进行 API 身份验证。我已覆盖 SessionController:create像这样的方法:

class Users::SessionsController < Devise::SessionsController

def create
resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
set_flash_message(:notice, :signed_in) if is_navigational_format?
val = sign_in(resource_name, resource)
current_user.reset_authentication_token!

respond_to do |format|
format.html do
respond_with resource, :location => redirect_location(resource_name, resource)
end
format.json do
render :json => { :status => OK_OK, :auth_token => current_user.authentication_token }.to_json, :status => :ok
end
end
end
end

如您所见,在使用 JSON 进行身份验证时,我会使用状态代码进行响应。当身份验证失败时,我收到以下响应:
{"error":"Invalid email or password."}

如何更改此消息?我不知道在哪里覆盖这个 warden.authenticate!方法。

最佳答案

您应该实现自己的失败应用程序。您可以在此处查看和/或继承设计的默认值
https://github.com/plataformatec/devise/blob/master/lib/devise/failure_app.rb

要设置它,请在您的 config/initializers/devise.rb 配置文件中:

Devise.setup do |config|
config.warden do |manager|
manager.failure_app = CustomFailureApp
end
end

关于ruby-on-rails - 典狱长 custom_failure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546706/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com