Сбой авторизации в Postman с использованием Ruby on Rails

#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 на использование «Токена на предъявителя», предоставив сгенерированный вами токен в качестве значения