Я пытался настроить базовую систему аутентификации с использованием Rails API, используя JWT и Knock, но каждый учебник, за которым я следую, приводит к одной и той же ошибке:
Отправка {"auth":{"email": "foo@bar.com", "password": "secret", "password_confirmation": "secret"}}
на http://localhost:3000/user_token
результаты в
500 Внутренняя ошибка сервера
NoMethodError (неопределенный метод `allow 'для # )
Кто-нибудь может мне помочь? Это мой код для учебника на http://www.dailysmarty.com/posts/how-to-use-jwt-authentication-in-a-rails-5-api-app, но я пробовал и другие, и не могу получить токен. Я чувствую, что упускаю что-то действительно глупое, но не могу понять, что это.
Контроллеры / application_controller.rb
class ApplicationController < ActionController::API
include Knock::Authenticable
end
Контроллеры / user_token_controller.rb
class UserTokenController < Knock::AuthTokenController
skip_before_action :verify_authenticity_token #removes a 422 error
end
Контроллеры / users_controller.rb
class UsersController < ApplicationController
before_action :authenticate_user
end
Модели / user.rb
class User < ApplicationRecord
has_secure_password
end