Установите базовую аутентификацию для запросов JSON и разработайте аутентификацию для запросов Html

#ruby-on-rails #json #devise #basic-authentication

#ruby-on-rails #json #разработайте #базовая аутентификация

Вопрос:

У меня есть контроллер с именем темы. Когда я захожу на страницу, которая должна быть аутентифицирована с помощью devise gem. Но при использовании POSTMAN для тестирования запросов JSON отображается ошибка, подобная этой..

 {
"error": "You need to sign in or sign up before continuing."
}
  

Это происходит из-за аутентификации devise. Чтобы избежать этой проблемы, я просто помещаю как

 skip_before_action:authenticate_user!
  

На мой взгляд, это игнорирует аутентификацию. Есть ли какой-либо способ использовать обычную аутентификацию devise для запроса HTML и базовую аутентификацию API для запросов JSON?

Ответ №1:

Вы можете использовать код из документации по разработке.

Однако, на мой взгляд, лучше иметь отдельные контроллеры для пользователей и API. Затем используйте Devise for users и любой другой механизм аутентификации для запросов API.