#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
Я создал Ruby on Rails API с группой людей через Github. По какой-то причине моя авторизация неоднократно завершается с ошибкой и на моем сервере отображается следующее.
Started GET "/boards" for ::1 at 2020-08-24 21:38:38 -0400
Processing by BoardsController#index as */*
Filter chain halted as :authorized rendered or redirected
Completed 401 Unauthorized in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 150)
Есть идеи о том, что здесь может происходить? Boards — это созданный мной контроллер, и я пытаюсь его проиндексировать. Это также не работает с методом post.
Комментарии:
1. Сообщение «цепочка фильтров остановлена …» появляется, когда у вашего контроллера есть
before_action
обратный вызов (:authorized
), который вызывает рендеринг или перенаправление (что завершает обработку оставшегося запроса). Предполагая, что вы используете что-то вроде JWT для аутентификации / авторизации, вы захотите убедиться, что Postman настроен на передачу допустимого токена JWT в заголовках и т.д.
Ответ №1:
Вы почти наверняка либо не отправляете никаких учетных данных в своих запросах от Postman, либо отправляемые вами учетные данные неверны.
Вы можете просмотреть информацию о том, как заставить Postman отправлять учетные данные как часть вашего запроса в документах Postman по адресуhttps://learning.postman.com/docs/sending-requests/authorization /
Чтобы знать, что вам нужно отправить, вам нужно знать, какой механизм аутентификации вы используете. Что касается API, то это, скорее всего, JWT, и вы, скорее всего, используете Devise gem, но в вашем приложении могло быть настроено что-то еще.
В случае, если это JWT, вам нужно будет сгенерировать действительный JWT в вашем приложении, затем настроить авторизацию Postman на использование «Токена на предъявителя», предоставив сгенерированный вами токен в качестве значения