gpt4 book ai didi

node.js - 如何在 hapi-swagger 文档页面上进行身份验证,以便只有真实用户才能看到我的文档

转载 作者:行者123 更新时间:2023-12-05 07:47:32 25 4
gpt4 key购买 nike

我正在使用 hapi-swagger 制作 API,并且我已经实现了基本身份验证。但即使用户没有身份验证,他仍然可以查看我的文档页面。我想阻止他查看我的文档页面。如何在 swagger 文档页面上实现基本身份验证? I want to hide this page and ask for authentication credentials before rendering documentation

最佳答案

const Hapi = require('@hapi/hapi');
const basicAuth = require('basic-auth');
const server = new Hapi.server({ port: process.env.port || 3005, host: "localhost" });
server.ext('onRequest', (req, h) => {

const route = req.url.pathname;
if (route === "/documentation") {
let user = basicAuth(req);
if (user === undefined || user['name'] !== 'username' || user['pass'] !== 'pwd') {
return h.response("Unauthorized")
.code(401)
.header('WWW-Authenticate', 'Basic realm="Node"')
.takeover()

}
}


return h.continue;
});
const startServer = async () => {
await server.register([
require('@hapi/vision'),
require('@hapi/inert'),
{
plugin: require('hapi-swagger'),
options: {
info: {
title: 'Doc',
},
schemes: ["http", "https"],
securityDefinitions: {},
security: [],

}
}]);
await server.start();
console.log(`Server running at: ${server.info.uri}`);
};

process.on('unhandledRejection', (err) => {
console.error(err);
console.error(err.stack);
process.exit(1);
});
startServer();

关于node.js - 如何在 hapi-swagger 文档页面上进行身份验证,以便只有真实用户才能看到我的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39630131/

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