我需要在Swagger UI之前添加一个单独的登录页面,以便从另一台服务器进行身份验证。从这个请求中,我将获得一个密钥,我必须将其添加到swagger UI中每个req的标题中。
我使用的是swagger 2.0的节点服务器和swagger工具。
如果使用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