我对NodeJS很陌生,所以有人可以向我解释一下:
我在express中创建的端点上获得了一个简单的授权。正如您在代码中看到的,任何地方都没有设置JWT或会话cookie。我还登录并浏览了cookie,以确保在任何地方都没有设置sessionId。考虑到这一点,我希望我的应用程序在每次刷新页面时(或者至少在我手动删除所有cookie、刷新缓存然后刷新页面时)都会提示输入凭据,但这并没有发生。浏览器仍在发送带有正确授权标头的请求(在我第一次输入凭据并刷新页面后),我不知道为什么。
简单端点代码:
app.get('/cms', function (req, res) {
    const reject = () => {
        res.setHeader("www-authenticate", "Basic");
        res.sendStatus(401);
    };
    const authorization = req.headers.authorization;
    if (!authorization) {
        return reject();
    }
    const [username, password] = Buffer.from(
        authorization.replace("Basic ", ""),
        "base64"
    )
        .toString()
        .split(":");
    if (!(username === "user" && password === "pass")) {
        return reject();
    }
    res.status(200)
    res.sendFile(path.join(__dirname+'/cms.html'));
});