【发布时间】:2021-03-12 06:10:59
【问题描述】:
我正在尝试使用 express 中的基本身份验证模块。
当我以文本形式设置用户名和密码时,它可以正常工作:
app.use(basicAuth({
users: { 'user': 'pass' },
unauthorizedResponse: getUnauthorizedResponse
}))
function getUnauthorizedResponse(req) {
console.log(typeof req.auth)
return req.auth
? ('Credentials ' + req.auth.user + ':' + req.auth.password + ' rejected')
: 'No credentials provided'
}
但是用变量替换硬编码的值,我经常得到“凭据被拒绝”。
var user = config["loginUsename"];
var pass = config["loginPassword"];
app.use(basicAuth({
users: { user: pass },
unauthorizedResponse: getUnauthorizedResponse
}))
function getUnauthorizedResponse(req) {
console.log(typeof req.auth)
return req.auth
? ('Credentials ' + req.auth.user + ':' + req.auth.password + ' rejected')
: 'No credentials provided'
}
我控制台记录了用户并传递变量,凭据匹配。我输出 req.auth 对象,它是相同的凭据。为什么这不起作用?
【问题讨论】: