Я пытаюсь аутентифицировать пользователя с помощью аутентификации JWT, и у меня возникла проблема.
{
"id": 1,
"name": "gabriel",
"username": "gabriel_carneiro",
"email": "gabriel.bsb98@gmail.com",
"password_digest": "$2a$12$7K.Z/ixpVM.lOkINboFW5.tvVlPYFnbMTEreVrrR4IClAL.70IQkO",
"created_at": "2020-06-17T11:13:27.116Z",
"updated_at": "2020-06-17T11:13:27.116Z"
}
Тогда мне нужно его подтвердить. Я отправляю его через почтальон:
электронная почта : gabriel. bsb98@gmail.com пароль : 12345678
Я получил это сообщение об ошибке:
{ "status": 500, "error": "Internal Server Error", "exception":
"#<NameError: uninitialized constant
AuthenticationController::JsonWebToken>", "traces": {
"Application Trace": [
{
"exception_object_id": 70261772705960,
"id": 0,
"trace": "app/controllers/authentication_controller.rb:8:in `login'"
}
Выдает ошибку в строке 8 на контроллере аутентификации. Это мой контроллер аутентификации:
class AuthenticationController < ApplicationController
before_action :authorize_request, except: :login
# POST /auth/login
def login
@user = User.find_by_email(params[:email])
if @user&.authenticate(params[:password])
token = JsonWebToken.encode(user_id: @user.id)
time = Time.now + 24.hours.to_i
render json: { token: token, exp: time.strftime("%m-%d-%Y %H:%M"),
username: @user.username }, status: :ok
else
render json: { error: 'unauthorized' }, status: :unauthorized
end
end
private
def login_params
params.permit(:email, :password)
end
end
Как я могу решить эту проблему? \ Ps: Это руководство, которое я прочитал https://medium.com/binar-academy/rails-api-jwt-authentication-a04503ea3248