首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将身份验证放在hapi-swagger文档页上,以便只有真正的用户才能看到我的文档。

如何将身份验证放在hapi-swagger文档页上,以便只有真正的用户才能看到我的文档。
EN

Stack Overflow用户
提问于 2016-09-22 04:11:50
回答 2查看 900关注 0票数 3

我正在使用hapi制作API,并实现了基本身份验证。但是,即使用户没有身份验证,他仍然可以查看我的文档页面。我想阻止他查看我的文档页面。如何在swagger文档页面上实现基本的auth?在呈现文档之前,我想隐藏此页面并要求提供身份验证凭据。

EN

回答 2

Stack Overflow用户

发布于 2020-07-11 00:06:15

代码语言:javascript
运行
复制
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();
票数 0
EN

Stack Overflow用户

发布于 2021-04-27 12:59:36

您需要在插件注册时设置属性auth

例如:

代码语言:javascript
运行
复制
    await server.register([
        {
            plugin: require('hapi-swagger'),
            options: {
                auth: 'my-oauth-strategy',
            }
        }]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39630131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档