3

我需要在 Swagger UI 之前添加一个单独的登录页面,以便从另一台服务器进行身份验证。从这个请求中,我将获得一个密钥,我必须将它添加到来自 swagger UI 的每个请求的标题中。

我正在使用带有 swagger 2.0 的节点服务器和 swagger-tool。

4

1 回答 1

0

如果您使用的是 nginx,则可以添加基本的 HTTP 身份验证。然后,无论何时任何人访问您的文档 url 或子域,他们都会在能够访问 swagger-ui 之前弹出一个用户/密码对话框。

创建用户/密码组合的完整说明(假设 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
于 2016-10-30T21:44:56.073 回答