Hi all,

As you might have noticed, I’ve submitted a new Internet-Draft: Approval-Based 
Dynamic Client Registration: 
https://datatracker.ietf.org/doc/draft-dellaert-oauth-approval-based-dcr/

Dynamic Client Registration provides a way for new clients to register 
themselves using an open registration mechanism, or registering using an 
Initial Access Token for extra security. For certain clients like native 
applications, CLI tools, or applications at scale, providing an IAT is not 
always an option and open registration is something many operators prefer to 
avoid.

I propose an approval-based registration using the existing DCR registration 
endpoint where the client opts-in for this new mode. If the authorization 
server’s policy supports and requires an approval before the client is 
registered, it returns a registration code, a verification code and a 
verification URI. The client polls the registration endpoint while an approver 
approves or denies the registration request out of band using the verification 
code and the verification URI. Once approved, on the next poll, the client 
receives a normal DCR response.

A lot of this is inspired by the Device Authorization Grant (RFC 8628) and the 
Deferred Token Response draft. I do diverge from these proposals by using 
specific HTTP response codes instead of using error responses. Registration 
success remains 201, a pending registration waiting for approval returns 202, 
both for initial request and polling, and 429 with a Retry-After response 
header is used to indicate to the client to slow down the requests. 400 is 
still used for errors.

I’d welcome feedback from the group, and especially from the authors of Dynamic 
Client Registration as this is an addition to DCR, and from the authors of 
Device Authorization Grant and Deferred Token Response as they are a source of 
inspiration. I have cc’d the DCR and DTR authors out of courtesy, not out of 
any expectation.

Regards,
Philippe
_______________________________________________
OAuth mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to