- From: Nico Williams <nico@cryptonector.com>
- Date: Sat, 28 Mar 2020 23:37:48 -0500
- To: ietf-http-wg@w3.org
- Cc: secdispatch@ietf.org
I've just submitted draft-williams-http-accept-auth-and-redirect-00 [0]
to deal with the problem of the mutual exclusivity of 3xx and 401.
This problem arises when, for example, one mixes in some organization,
both Negotiate [RFC4559] and redirect-based authentication flows. This
problem is rather vexing: the server has to decide which to go with
without knowing which the user-agent supports!
The solution seems simple: let the user-agent tell the server what
authentication schemes it supports. (Indeed, one common hack is to
glean this from the user-agent string.) As well, let the server mix
redirection and authentication requests.
As well, while we're at it, why not codify redirect-based
authentication. In particular, the PowerShell HTTP command-line client,
Invoke-WebRequest [1] has an option to copy Authorization headers from
redirect responses to redirected requests, which seems like just the
ticket:
| -PreserveAuthorizationOnRedirect
|
| Indicates the cmdlet should preserve the Authorization header, when
| present, across redirections.
|
| By default, the cmdlet strips the Authorization header before
| redirecting. Specifying this parameter disables this logic for cases
| where the header needs to be sent to the redirection location.
ISTR seeing a prohibition on copying headers from redirect responses to
redirected requests, but I can't find this now. Digest [RFC2617]
actually describes the Authorization-copying behavior in a paragraph
that straddles pages 17 and 18, using the "domain" parameter of Digest
to effect a redirection.
This I-D then adds an Accept-Auth request header, and an HTTP
authentication scheme named Redirect, and codifies other ways to mix
redirection and authentication requests.
This I-D seems trivial enough to go the ISE route, but perhaps some WG,
such as HTTPbis, might be interested in taking a closer look, reviewing,
possibly leading to request not to publish (if, e.g., there's already a
solution I've missed or this is problematic for some reason), or to
adopting the work.
Cc'ed is secdispatch@ietf.org, in case they want to dispatch this I-D.
Reply-To is set to HTTPbis.
See also [2].
Feedback would be greatly appreciated. Stay safe!
[0] https://tools.ietf.org/html/draft-williams-http-accept-auth-and-redirect-00
https://www.ietf.org/internet-drafts/draft-williams-http-accept-auth-and-redirect-00.txt
[1] https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7
[2] https://mailarchive.ietf.org/arch/msg/art/T4nP5Rv91yuE0ew8p0vJh2fX1IM/
Nico
--
Received on Sunday, 29 March 2020 04:38:10 UTC