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
Другие вопросы по тегам