gpt4 book ai didi

express - 如果未提供凭据,如何使用 express-basic-auth 以便我的应用程序返回 401?

转载 作者:行者123 更新时间:2023-12-04 17:09:34 25 4
gpt4 key购买 nike

我正在尝试使用 express-basic-auth 向我的应用添加基本身份验证。我正在按照 this page 上的说明进行操作,它还说“如果发现请求未被授权,它将使用 HTTP 401 进行响应”,但是当我未通过任何凭据时,我的应用程序仅使用状态代码 200 进行回复

看来我没有正确配置 express-basic-auth。我做错了什么?

const express = require('express')
const app = express()
const port = 3001

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

app.use(basicAuth({
users: { 'admin': 'supersecret' },
}))

app.get('/', (req, res) => {
res.send('Hello World!')
})


app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})

最佳答案

您的代码有效。我通过 nodejs 客户端应用程序确认,基本身份验证在提供正确的用户名和密码时有效,并在未提供正确的用户名和密码或未提供用户名和密码时返回 401。

可能的解释是您实际上并没有运行最新的代码,并且有一些以前的服务器仍在运行,不需要基本身份验证。

您可以通过添加

来验证您是否访问了正确的服务器
app.use((req, res, next) => { 
console.log("got new server");
next();
});

在您的基本身份验证中间件之前,并验证您在尝试请求时在服务器控制台中看到此日志。如果您没有在控制台中看到这个新日志,那么您没有使用最新的代码。

关于express - 如果未提供凭据,如何使用 express-basic-auth 以便我的应用程序返回 401?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69775725/

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