我需要在Swagger UI之前添加一个单独的登录页面,以便从另一台服务器进行身份验证。从这个请求我将得到一个密钥,我必须在swagger UI的每个req的标题中添加。
我正在使用带有swagger 2.0的节点服务器和swagger-tool。
如果您使用的是nginx,则可以添加基本的HTTP身份验证。然后,只要有人访问您的文档URL或子域,他们就会获得弹出式用户/密码对话框,然后才能访问swagger-ui。
Full instructions用于创建用户/密码组合(假设Ubuntu):
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd exampleuser
该工具将提示您输入密码。
然后更新你的nginx文件,为docs路由提供类似的东西:
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