Thanks for the feedback, Tom! More below...

> -----Original Message-----
> From: regext <regext-boun...@ietf.org> On Behalf Of Tom Harrison
> Sent: Monday, October 10, 2022 10:13 AM
> To: James Galvin <gal...@elistx.com>
> Cc: REGEXT WG <regext@ietf.org>
> Subject: [EXTERNAL] Re: [regext] WGLC: draft-ietf-regext-rdap-openid-17
>
> Caution: This email originated from outside the organization. Do not click
> links
> or open attachments unless you recognize the sender and know the content is
> safe.
>
> On Mon, Sep 26, 2022 at 10:03:35PM +0800, James Galvin wrote:
> > The document editors have indicated that the following document is
> > ready for submission to the IESG to be considered for publication as a
> > Proposed Standard:
> >
> > Federated Authentication for the Registration Data Access Protocol
> > (RDAP) using OpenID Connect
> > https://secure-web.cisco.com/1mN6tUlcmJ1U5d7u-
> OmVXsrpQm42sBtGh4xZNtMSU
> >
> y0temnHZrQ0NAMbF4hWDrtaG5d3YxjJ6J4qMLdQwfdtY07Vz6xrhxhc4c62sVJwx
> Db6h9W
> >
> MdxsH0uMTiA9AEiwD6ajWTxBPTziQP1bXLUkpQa5ibHpQDaxDdW5r8Wstvibtzf
> QuyDCx4
> >
> t8rKNhV_zkp9W5OODbmBUTw2ZGGATJhOjonaK6PtjMDT4V3pdRL0KKrSNDDgB
> yzLLZgK74
> > 3jCYUI/https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-regext-rd
> > ap-openid%2F17%2F
> >
> > Please indicate your support or no objection for the publication of
> > this document by replying to this message on list (a simple “+1” is
> > sufficient).
> >
> > If any working group member has questions regarding the the
> > publication of this document please respond on the list with your
> > concerns by close of business everywhere, Monday, 10 October 2022.
> > If there are no objections the document will be submitted to the IESG.
> >
> > The Document Shepherd for this document is Zaid Al Banna.
>
> Looks good on the whole, some comments/questions:
>
> Section 3.1.3.1 is titled 'Provider Discovery', and describes the processes
> that
> an RDAP server might use to map an end-user identifier to a provider.  In
> other
> parts of the document, though, the term 'end-user identifier discovery' is
> used
> to similar effect, including in the OIDC configuration response data
> structure:
> see 3.1.3, 4.1.3, and 4.2.1.  'Provider Discovery' seems like the more
> accurate
> term to use in each of these instances.

[SAH] OK, I'll change the text to use "provider discovery" consistently.

> Section 3.1.3.1 has:
>
>     An RP can also ask an End-User to identify the OP that issued
>     their identifier as part of an RDAP query workflow.  In this case,
>     the RP will need to maintain state for the association between the
>     user's identifier and the OP in order to process later queries
>     that rely on passing the access token and user identifier as
>     authorization parameters.
>
> I think this text is no longer necessary now that the RDAP server stores the
> user's tokens on the server side.  (The original intent here was to cover
> the case
> where the end user provided an access token and a user identifier when
> submitting a query, but that is not an option anymore with the current
> text.)

[SAH] Agreed.

> The distinction between 'default' and 'remote' authorization servers could
> be
> clearer in the text (possibly in 3.1.2 or 3.1.3.1).  (The fact that an
> authorization
> server is either one or the other was not apparent to me except after
> reading
> appendix A.)

[SAH] OK, I'll see what I can do.

> In section 4.1.1, the "farv1_session" data structure has a member called
> "clientID", defined as being "a string value that represents the client
> identifier
> associated with the session".  The example indicates that this value is
> meant to
> be that provided by the user as the "farv1_id" argument to the "login"
> endpoint.
> However, "client identifier" in the OIDC context (per RFC 6749) is an
> identifier
> specific to the RDAP server, rather than the end user.  It would be better
> if this
> member were called "endUserID" or similar to avoid confusion.

[SAH] How about "userID"?

> Following on from the previous point, "clientID" appears to be mandatory in
> the
> "farv1_session" data structure (since "userClaims"
> and "sessionInfo" are both expressly marked "OPTIONAL"), but if the end user
> does not provide an identifier during the login process, the RDAP server may
> not know what the identifier is, since there's no requirement that it be
> returned
> in the ID token or similar.  Possibly this field should just be removed from
> the
> "farv1_session" structure.

[SAH] I'd prefer to make it OPTIONAL instead of removing it completely because 
there's value in confirming the identity in the response if it's possible to 
do so.

> Section 4.2.3 has:
>
>     The response to the login request MUST use the response structures
>     specified in RFC 9083 [RFC9083].
>
> Since 'response structures' is not further defined, it's possible that this
> could be
> confusing.  Suggested change:
>
>     The response to the login request MUST comprise members that would
>     be valid in an RDAP "/help" response, per RFC 9083 [RFC9083].
>
> Since a "/help" response may contain all of the common top-level RDAP
> response members.

[SAH] The intention here is that the response should include any/all 
"standard" response data structures, such as RDAP conformance, notices, links, 
etc. Instead of specifically referring to a "/help" response, would this be 
clearer?

"The response to the login request MUST contain all structures specified in 
RFC 9083 [RFC9083] that are appropriate for a protocol response ."

> What should a logged-in end user see when they submit a standard RDAP
> query, but their session has expired?

[SAH] The query should be processed as if no identification/authentication 
information is available. The response should be whatever is appropriate based 
on processing the query under those circumstances.

> Section 4.2 has:
>
>     Additionally, an active session MAY be removed by the server due
>     to timeout expiration or because a maximum session lifetime has
>     been exceeded.
>
> Removing an active session due to timeout expiration will inhibit attempts
> to
> manually refresh that session.  It may be worth including some text here
> warning about that, and noting that removing sessions after some additional
> grace period has elapsed after expiry may make things easier on end users.

[SAH] How about something like this:

"Clients SHOULD proactively monitor the tokenExpiration value associated with 
an active session and refresh the session as appropriate to provide a positive 
user experience."

> If all requests are to use the GET method, it would be good to note that in
> the
> text somewhere.
>
> "notices" in an RDAP response should be an array of objects (RFC 9083
> section
> 4.3), but is presented as a single object in each of the examples in the
> document.

[SAH] OK, that needs to be fixed.

> Section 4.8 has:
>
>     If a client sends any request that includes an unknown HTTP
>     cookie, the server MUST return an HTTP 409 (Conflict) error.
>
> What is an "unknown HTTP cookie"?

[SAH] It's a cookie that isn't associated with a known session. Would "request 
that includes an HTTP cookie that isn't associated with a known session" be 
better?

> Is there any way to signal the result of an implicit token refresh
> operation?

[SAH] The tokenExpiration value will be updated as sessions are refreshed, but 
I don't see a way of pushing that information a client directly. The updated 
value will be returned in a "farv1_session/status" response, so if the client 
is proactively monitoring the session as described above it'll be able to 
detect implicit refresh successes.

> I agree with Andy's comments about it not being ideal that free-form text is
> used to signal success/failure (e.g. when logging out).

[SAH] Agreed and understood.

Scott
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to