Проблемы с режимом Rails API с гемом Clearance? - PullRequest
0 голосов
/ 03 марта 2019

Я выполнил следующие шаги https://github.com/thoughtbot/clearance/wiki/API-Authentication (вставлено ниже), чтобы мое приложение Rails API работало только с аутентификацией.

Я столкнулся с парой проблем.Во-первых, "cookies" is undefined. Итак, я это прокомментировал.

Теперь я получаю

NameError (undefined local variable or method 'form_authenticity_token' for #<BookmakersController:0x00007ffa6f370c78>):
app/controllers/application_controller.rb:12:in `authenticate_via_token'

Я не могу решить эту последнюю проблему.BookmakersController - один из моих контроллеров, очевидно, где у меня есть before_action :authenticate_via_token

Я использую Postman с заголовками авторизации, установленными для отправки запроса на получение в мое приложение.

Любые идеи, как я могу получитьчерез эту ошибку?

class ApplicationController

protected

  def authenticate_via_token
    return unless api_token
    user = User.find_by_api_token(api_token)
    sign_in user if user
    cookies.delete(:remember_token) # so non-browser clients don't act like browsers and persist sessions in cookies
  end

private

  def api_token
    pattern = /^Bearer /
    header  = request.env["HTTP_AUTHORIZATION"]
    header.gsub(pattern, '') if header && header.match(pattern)
  end
end

class MyController < ApplicationController
  before_action :authenticate_via_token
end
...