@@ -136,19 +136,29 @@ authentication SHOULD include the Secure attribute described in {{Section
1361364.1.2.5 of RFC6265}}. Bearer tokens MAY use the format described in {{?RFC8959}}
137137to indicate the expected usage to the client.
138138
139- # # Credential Revocation
139+ # # Disclosure Response
140140
141141Some deployments may not find it feasible to completely block unencrypted
142142connections, whether because the hostname is shared with unauthenticated
143143endpoints or for infrastructure reasons. Therefore, servers need a response for
144144when a valid credential has been received over an insecure channel.
145145
146+ HTTP status code 403 (Forbidden) indicates that "the server understood the
147+ request but refuses to fulfill it" {!HTTP=RFC9110}. While this is generally
148+ understood to mean that "the server considers [the credentials] insufficient to
149+ grant access," it also states that "a request might be forbidden for reasons
150+ unrelated to the credentials." Servers SHOULD return status code 403 to all
151+ requests received over an insecure channel, regardless of the validity of the
152+ presented credentials.
153+
146154Because a difference in behavior would enable attackers to guess and check
147155possible credentials, a server MUST NOT return a different client response
148156between a valid or invalid credential presented over an insecure connection.
149157Differences in behavior MUST only be visible on subsequent use of the credential
150158over a secure channel.
151159
160+ # ## Credential Revocation
161+
152162When a request is received over an unencrypted channel, the presented credential
153163is potentially compromised. Servers SHOULD revoke such credentials immediately.
154164When the credential is next used over a secure channel, a server MAY return an
0 commit comments