限制 Swagger UI 访问 - 用户登录

Jus*_*tas 3 authentication rest swagger swagger-ui

我正在使用 Swagger UI 进行交互式 REST 端点表示。但是,每个知道其 URL 的人都可以访问 Swagger UI。是否有任何标准方法可以通过用户登录来限制 Swagger UI 访问?

Phi*_*ide 5

如果您使用 nginx,您可以添加基本的 HTTP 身份验证。然后,任何人只要访问您的文档 URL 或子域,他们就会在访问 swagger-ui 之前看到一个弹出的用户/密码对话框。

创建用户/密码组合的完整说明(假设是 Ubuntu):

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd exampleuser
Run Code Online (Sandbox Code Playgroud)

该工具将提示您输入密码。

然后更新您的 nginx 文件,为文档路由添加类似以下内容:

location /docs {
   auth_basic "Restricted Content";
   auth_basic_user_file /etc/nginx/.htpasswd;
   proxy_pass http://0.0.0.0:3000;
 }
Run Code Online (Sandbox Code Playgroud)

然后重新加载nginx:

sudo /etc/init.d/nginx reload
Run Code Online (Sandbox Code Playgroud)