没有用户名的 HTTP 身份验证

ImD*_*ead 4 authentication http node.js

我正在节点 js 中创建一个 HTTP 服务器,我想向一个只有我会使用的页面添加一个密码。在基本身份验证方案需要用户名和密码(在浏览器中弹出)。拥有用户名对我来说毫无用处,我想知道是否可以只显示密码对话框。

当前代码是这样的,发送状态代码 401WWW-Authenticate标头。

response.statusCode = 401;
response.setHeader('WWW-Authenticate', 'Basic realm="Requires Password"');
response.end();
Run Code Online (Sandbox Code Playgroud)

它在 Firefox 中创建了这个窗口

认证窗口

那么我需要在响应标头中更改什么才能只有密码字段?

cas*_*lin 6

我想知道是否可以只显示密码对话框。

否。基本身份验证方案基于客户端需要使用用户名密码对每个保护空间(通常称为领域)进行身份验证的模型。

对于带有401WWW-Authenticate值的响应Basic,浏览器将提示输入用户名和密码。

那么我需要在响应标头中更改什么才能只有密码字段?

如果出于某种原因,您不需要用户名,您可以将其留空,选择一个默认方案或选择适合您需要的其他身份验证方案。