Можно ли добавить страницу входа перед пользовательским интерфейсом Swagger?

Мне нужно добавить отдельную страницу входа в систему перед Swagger UI для аутентификации с другого сервера. Из этого запроса я получу ключ, который я должен добавить в заголовок каждого запроса от пользовательского интерфейса Swagger.

Я использую нод-сервер и Swagger-инструмент с Swagger 2.0.

1 ответ

Если вы используете nginx, вы можете добавить базовую аутентификацию HTTP. Затем каждый раз, когда кто-то заходит на ваш URL-адрес или поддомен документации, он получает всплывающее диалоговое окно с именем пользователя и паролем, прежде чем он сможет получить доступ к swagger-ui.

Полные инструкции по созданию ваших комбинаций пользователь / пароль (при условии Ubuntu):

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd exampleuser

Инструмент предложит вам ввести пароль.

Затем обновите файл nginx, чтобы он имел что-то вроде этого для маршрута документации:

location /docs {
   auth_basic "Restricted Content";
   auth_basic_user_file /etc/nginx/.htpasswd;
   proxy_pass http://0.0.0.0:3000;
 }

Затем перезагрузите nginx:

sudo /etc/init.d/nginx reload
Другие вопросы по тегам