我正在嘗試使用 express-basic-auth 向我的應用程式添加基本身份驗證。我正在按照此頁面上的說明進行操作,其中還說“如果發現請求未經授權,它將以 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}`)
})
uj5u.com熱心網友回復:
您的代碼有效。我通過 nodejs 客戶端應用程式確認,基本身份驗證在提供正確的用戶名和密碼時有效,如果沒有提供正確的用戶名和密碼或沒有提供用戶名和密碼,則回傳 401。
可能的解釋是您實際上并沒有運行最新的代碼,并且有一些以前的服務器仍在運行,不需要基本身份驗證。
您可以通過添加來驗證您正在訪問正確的服務器
app.use((req, res, next) => {
console.log("got new server");
next();
});
在您的基本身份驗證中間件之前,并驗證您在嘗試請求時是否在服務器控制臺中看到此日志。如果您沒有在控制臺中看到這個新日志,那么您就沒有使用最新的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/343613.html
標籤:表达
