我想覆盖devise给出的current_user和authenticate_user方法。我找到了这段代码:
ApplicationHelper
def devise_authenticate_user
@devise_authenticate_user = warden.authenticate!(:scope => :user)
end
def authenticate_user!
if is_sandbox?
return true
else
devise_authenticate_user
end
end
它无法正常工作。例如,我的用户show方法返回401,如:
class UsersController < ApplicationController
before_action :authenticate_user!, only: [:show, :update_news]
def index
if current_user
render json: {users: User.first}.to_json, success: 200
else
send_error('Unauthorized', 401)
end
end
end
我认为是因为我使用的是gem devise_token_auth。