Hi Mark,

Thanks for the review and feedback. I am aware of HTTP Structured Fields
and certainly see value in it - even using it in some other work in which
I'm involved. However, I'm unsure of its fit or utility for this draft.
With that said, I've tried to reply more specifically to your comments
inline below.


On Wed, Jan 18, 2023 at 3:32 PM Mark Nottingham <mnot=
40mnot....@dmarc.ietf.org> wrote:

> A few things caught my eye in this document:
>
> - Section 4.1 defines the DPoP header field as a JWT, which (as I
> understand it) is a base64-encoded string. If that's the case, I'd
> recommend making it a Structured Field Item (see RFC8941 s 3.3) with a
> fixed type of Byte Sequence (s 3.3.5). That will require changing the
> syntax to add a prefix and suffix of ":".
>

As Justin pointed out, a JWT is three Base64url encoded segments delimited
by the `.` period character, which means it can't be a SF Byte Sequence.
As DW pointed out, a JWT just happens to always start with a letter because
the first segment is always encoded JSON, so will always start with 'ey'.
So the DPoP header field value does just happen to fit the SF Token syntax,
But the SF Token syntax does very little regarding the validity of the JWT.



> - The DPoP-Nonce header field's syntax isn't obviously specified. It
> should be. I'd suggest a Structured Field Item with a fixed type of String
> (RFC 8941 s 3.3.3), which would surrounding the value with quotes.
>

ABNF syntax for the nonce value is provided at
https://www.ietf.org/archive/id/draft-ietf-oauth-dpop-12.html#section-8-9
along with the description of its use in the DPoP exchange. I believe that
the SF String type would accommodate the content we intended to allow
servers to use for the nonce (it's basically a server chosen value that the
client treats as opaque and sends back in subsequent DPoP proof JWTs).
However, that would be a breaking change, which shouldn't be undertaken
lightly.



>
> - Neither header has interoperable parsing or serialisation specified;
> divergent error handling may cause interoperability problems. Adopting
> Structured Fields would address this.
>

Both are composed of a narrow set of printable ASCII with parsing,
validation, usage, and error handling specified at the application layer.
I'm not going to claim that it's perfect by any means. But those
interoperability problems seem conjectural and it's not obvious that
adopting Structured Fields would add value in the context of this draft.



>
> - See RFC9110 s 16.3.2 for things that should be considered when defining
> new HTTP fields. I suspect that the document needs to be more explicit
> about at least some of these items. Adopting Structured Fields would
> address some (but not all) of these questions.
>

The authors (on-behalf-of and with the help of the WG) have endeavored to
touch on all the considerations needed to ensure interoperability of the
protocol overall as well as HTTP related (e.g. caching, applicability to
request/response, prohibiting multiple occurrences, scope of
applicability). However, the group clearly does not have your depth of HTTP
expertise so may well have missed something. If that's the case, it would
be very helpful for specifics to be raised.



> - See also <
> https://httpwg.org/admin/editors/style-guide#header-and-trailer-fields>
> for the preferred editorial style when defining new HTTP fields.
>
> - The long line-wrapped example in Section 4.1 would benefit from RFC8792
> encoding. In HTTP, a line-wrapped field like the one shown has whitespace
> inserted between each line, which is problematic here.
>

This is a bit of a stylistic preference thing. That example and others in
the draft are intentionally similar (with a note about line breaks and
extra space being for display purposes) to closely related and referenced
documents like RFC7515, RFC7519, and RFC6749. The examples from these RFCs
seem to have worked well for readers/implementers in practice, and so we'd
prefer to keep the formatting conventions in this draft the same as in
those.



>
> Cheers,
>
>
>
>
> > On 19 Jan 2023, at 5:30 am, David Dong via RT <
> drafts-expert-review-comm...@iana.org> wrote:
> >
> > Dear Mark Nottingham and Roy Fielding (cc: oauth WG),
> >
> > As the designated experts for the http-fields registry, can you review
> the proposed registration in draft-ietf-oauth-dpop for us? Please see:
> >
> > https://datatracker.ietf.org/doc/draft-ietf-oauth-dpop/
> >
> > The due date is February 1st, 2023.
> >
> > If this is OK, when the IESG approves the document for publication,
> we'll make the registration at
> >
> > https://www.iana.org/assignments/http-fields/http-fields.xhtml
> >
> > We'll wait for both reviewers to respond unless you tell us otherwise.
> >
> > With thanks,
> >
> > David Dong
> > IANA Services Specialist
>
> --
> Mark Nottingham   https://www.mnot.net/
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

-- 
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged 
material for the sole use of the intended recipient(s). Any review, use, 
distribution or disclosure by others is strictly prohibited.  If you have 
received this communication in error, please notify the sender immediately 
by e-mail and delete the message and any file attachments from your 
computer. Thank you._
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to