【发布时间】:2011-12-17 17:51:20
【问题描述】:
我使用设计进行 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! 方法。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 devise warden