gpt4 book ai didi

javascript - 如何配置安全性以允许仅通过 nodejs 中的身份验证访问 swagger url

转载 作者:行者123 更新时间:2023-12-03 12:14:18 29 4
gpt4 key购买 nike

我已经在 Node 中集成了 swagger,它可以在 http://localhost:3002/api-docs 上访问。但是 swagger ui 是可以公开访问的。我想添加身份验证/安全性以访问此路由。当用户点击 http://localhost:3002/api-docs 时,它应该显示弹出/提示输入用户名/密码。如果用户名和密码正确,那么只有用户才能看到 Swagger 的 UI。
可能如下面的截图所示
enter image description here
我正在使用 swagger-ui-express ,这是我正在使用的代码

import swaggerUi from 'swagger-ui-express';
import * as swaggerDocument from './swagger.json'

....
....

app.use("/api-docs",swaggerUi.serve,swaggerUi.setup(swaggerDocument));


我在互联网上搜索但没有任何解决方案。我找到了一个 solution但那是在 Spring 。
提前致谢 !!

最佳答案

您可以插入 basic-auth 中间件(例如 https://github.com/LionC/express-basic-auth )来保护 swagger-ui 路由。如果您使用 express-basic-auth ,请务必设置 challenge option为了强制浏览器打开提示:

const basicAuth = require('express-basic-auth');

app.use("/api-docs",basicAuth({
users: {'yourUser': 'yourPassword'},
challenge: true,
}), swaggerUi.serve, swaggerUi.setup(swaggerDocument));

关于javascript - 如何配置安全性以允许仅通过 nodejs 中的身份验证访问 swagger url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64914181/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com