swagger - 是否可以在 Swagger ui 之前添加登录页面?

标签 swagger swagger-ui swagger-2.0 swagger-editor swagger-node-express

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

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

最佳答案

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

Full instructions用于创建用户/密码组合(假设是 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

关于swagger - 是否可以在 Swagger ui 之前添加登录页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34648234/

相关文章:

amazon-web-services - 从 Swagger 错误导入 Amazon API Gateway - 不采用泛型

spring - 带有 Java9 的 Swagger UI(spring boot 2.0)

java - 使用标签时 Springfox swagger-ui 端点重复

xml - 在 OpenAPI 中,如何定义具有属性和内容的 XML 元素?

azure - 将 webAPI 发布到 Azure 时出现错误

spring-mvc - 如何配置 Spring Security 以允许无需身份验证即可访问 Swagger URL

swagger - 如何在 OpenAPI (Swagger) 中定义枚举?

file-upload - springfox-swagger2 UI 是否支持一次选择多个文件?

node.js - Nodejs 中 swagger-jsdoc 设置的语法错误

c# - Swagger codegen 选项可更改 TypeScript 中的大小写