Hi Torsten, thanks for the comments.

Whats the advantage of having two secrets for the same client_id, namely request_access_token and client_secret? Why not always issuing a secret and use it for authentication on this endpoint (in the same way as at the token endpoint)?
Two things are at play here, from what I understand of the discussions that went into this: 1) The audience of the secret is different. The client_secret is intended for the Token Endpoint, while the registration_access_token is intended for the Registration Endpoint. 2) Clients can use all different kinds of authentication at the Token Endpoint, not just a client_secret. This gives us a way to support dynamic registration of those clients without conflating the functionality of the Registration Endpoint itself.

Additionally, there's a strong desire from Google and others for a semi-registered use case, where the app developer gets a "developer key" that they present to the registration endpoint. This "developer key" is effectively a bootstrapped registration access token, and if you look at it that way this lets us keep the same mechanisms here.


Section 2.1.
Some of those parameters seems to be OIDC-specific, e.g. default_max_age. I would suggest to remove those.
I definitely want to trim any OIDC or UMA specific stuff. However, the session-age-management stuff I think makes sense to keep. I'll pull it out if others feel strongly about it though.


I would also recommend to state the relation of the parameters to core _or_ extension features. For example, "jwk_url" is only be used if the AS supports JWT Bearer Tokens, right?
I think it's a good idea to be more explicit about what each of the parameters relates to - jwk_url for instance is the key of the *client* and has more to do with using JWT Assertion for client credentials than it does the server's token format.


When reading the document the first time, I was a bit lost since none of the parameters is explained in this section. I would therefore suggest to change order of sections 2 and 3.
That is a really good idea, I'll do that. I've been struggling at how best to present this information without it being overwhelmingly repetitive.


Security Considerations

"An IdP can also make warnings against untrusted RPs in all
cases, especially if they're dynamically registered, have not been
trusted by any users at the IdP before, and want to use the logo
feature."

This reads funny since this whole document is about dynamic client registration, isn’t it? I think AS should generally be careful when displaying client meta data if they did not previously validate them. A client could also call itself Google or Facebook. This section must call this out aloud.
I think this can be stated better, but the idea is that you should tell people that a client was dynamically registered since the trust model is going to be different from a background-registered one. The spoofing of the client name is exactly one of the reasons for this, and it should be stated explicitly.


Should external URLs be sanitized in order to prevent CSS and Request Forgery?
If someone can give me the right text and tell me which URLs it needs to be applied to, I'd be happy to incorporate it. Potential targets:

 - redirect_uri
 - logo
 - homepage
 - TOS
 - privacy

Any others I'm missing?

Everything is being tracked in GitHub:

https://github.com/jricher/oauth-spec/issues

Again, thanks,
 -- Justin
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to