-
Notifications
You must be signed in to change notification settings - Fork 21
Description
The Authorization API Access Token serves only to connect the requesting client to the authorization server over the specialty RPT endpoint (see #153). Why can't client credentials be used here instead, like at a normal token endpoint transaction?
Ostensibly, the authorization server could use the requesting party bound to the AAT to make its token issuance decision -- however, all guidance in the spec indicates that the decisions should be made on the basis of supplied claims which the requesting client has to either gather out of band or provide directly. As such, the AAT doesn't provide any additional value.
Furthermore, issuance of the AAT over a normal OAuth transaction is problematic as the requesting party, Bob, likely doesn't have an account on the authorization server. Supporting this would require the authorization server to either allow all external users to engage in OAuth transactions (unlikely) or to have a special-cased codepath for just the uma_authorization scope. (See mitreid-connect/OpenID-Connect-Java-Spring-Server#852 for an implementation-specific take.)
Suggested fix: remove the AAT alltogether and rely on client credentials and claims for issuing the RPT (as in #153), otherwise be very clearly explicit in the spec about the requirement the requesting party to be able to authorize tokens at the AS, which would likely limit UMA's usefulness to single security domains.