Можно ли добавить страницу входа перед пользовательским интерфейсом 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