没有用户名的 HTTP 身份验证
Posted
技术标签:
【中文标题】没有用户名的 HTTP 身份验证【英文标题】:HTTP authentication without username 【发布时间】:2018-03-30 20:17:58 【问题描述】:我正在节点 js 中创建一个 HTTP 服务器,并且我想向一个只有我会使用的页面添加一个密码。 Basic 认证方案需要用户名和密码(在浏览器弹出窗口中)。拥有用户名对我来说毫无用处,我想知道是否可以只显示密码对话框。
当前代码是这样的,发送Status Code 401 和WWW-Authenticate 标头。
response.statusCode = 401;
response.setHeader('WWW-Authenticate', 'Basic realm="Requires Password"');
response.end();
在 Firefox 中创建此窗口
那么我需要在响应标头中更改什么以仅包含密码字段?
【问题讨论】:
【参考方案1】:我想知道是否可以只显示密码对话框。
没有。 Basic authentication scheme 基于客户端需要为每个保护空间使用 用户名 和 密码 进行身份验证的模型,通常称为 realm。
对于带有 401
和 WWW-Authenticate
且值为 Basic
的响应,浏览器将提示输入用户名和密码。
那么我需要在响应标头中更改什么以仅包含密码字段?
如果由于某种原因您不想要用户名,您可以将其留空,选择默认用户名或选择适合您需要的其他身份验证方案。
【讨论】:
以上是关于没有用户名的 HTTP 身份验证的主要内容,如果未能解决你的问题,请参考以下文章