rails-api и аутентификация
У меня проблема с аутентификацией запросов к моему Rails API
В моем контроллере приложения у меня есть следующий код
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
# protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json' }
before_filter :authenticate_user_from_token!
private
def authenticate_user_from_token!
Rails.logger.debug "Authenticating..." <---------- (1)
authenticate_with_http_token do |token, options|
Rails.logger.debug "options: #{options.inspect}" <-----------------------(2)
user_email = options[:user_email].presence
user = user_email && User.find_by_email(user_email)
if user && Devise.secure_compare(user.authentication_token, token)
sign_in user, store: false
end
end
end
end
Но проблема в том, что хотя (1) выполняется и регистрируется, (2) по какой-то причине никогда не достигается. Кто-нибудь знает, почему это так?
1 ответ
Похоже на ваш ApplicationController
необходимо:
include ActionController::HttpAuthentication::Token::ControllerMethods