#ruby-on-rails #jwt
Вопрос:
Я создал аутентификацию на основе токенов JWT для своего API Rails на основе этого руководства. С сервером rails, работающим в режиме разработки, все работает безупречно. Когда я запускаю сервер rails в рабочем режиме, я получаю следующие ошибки:
Started GET "/profiles" for 10.71.232.74 at 2021-10-19 15:17:37 0200
Processing by ProfilesController#index as */*
Filter chain halted as :authenticate_request rendered or redirected
Completed 401 Unauthorized in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 150)
Теперь мне интересно, в чем разница между режимом разработки и Prod сервера. Я использую одну и ту же базу данных для обоих, поэтому в моей среде нет никакой разницы, кроме режима сервера.
Комментарии:
1. Вы внесли в белый список IP-адрес продукта?
Ответ №1:
Проблема была связана с генерацией токенов JWT. Rails не смог получить доступ к базе secret_key_base (ошибка копирования/вставки). В режиме разработки сервер просто творил какую-то магию в фоновом режиме, чтобы генерировать токены, так что это сработало. В производстве этого не произошло. После того, как база secret_key_base стала доступной для Rails, это сработало. В целом сообщение об ошибке в rails вводит меня в заблуждение.