Basic认证方案中realm仍然是必填参数吗?

问题描述 投票:0回答:1

一方面,RFC 7617第2节明确指出,参数

realm
在基本身份验证方案中是必需的:

The Basic authentication scheme utilizes the Authentication Framework as follows.

In challenges:
o  The scheme name is "Basic".
o  The authentication parameter 'realm' is REQUIRED ([RFC7235], Section 2.2).

另一方面,在 Mozilla 文档中,参数

realm
WWW-Authenticate 标头描述的
Basic 部分
中被标记为 OPTIONAL,并且 Syntax 部分 还确认了这一点:

For example, Basic authentication allows for optional realm and charset keys, but does not support token68.

WWW-Authenticate: Basic
WWW-Authenticate: Basic realm=<realm>
WWW-Authenticate: Basic realm=<realm>, charset="UTF-8"

此外,这个 Stackoverflow 答案提到

realm
不再总是必需的,并链接到RFC 7235 第 4.1 节。但我似乎无法在提到的 RFC 中找到该声明的证据,除了 Appendix A 中的这个片段(不是很有说服力,特别是因为这个 RFC 来自 2014 年和 7617 - 来自 2015 年):

Appendix A.  Changes from RFCs 2616 and 2617

The framework for HTTP Authentication is now defined by this document, rather than RFC 2617.

The "realm" parameter is no longer always required on challenges; consequently, the ABNF allows challenges without any auth parameters. (Section 2)

此外,在实践中,如果

realm
标头中缺少
WWW-Authenticate
参数,大多数现代浏览器似乎都能正常工作。

那么,在基本身份验证的情况下,

realm
仍然被视为必需参数吗?

authentication http basic-authentication http-authentication
1个回答
0
投票

是的,领域是必需的。 MDN 文档不正确,已修复。

© www.soinside.com 2019 - 2024. All rights reserved.