Skip to content

Is the AAT unnecessary? #154

@jricher

Description

@jricher

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    V2.0coreRelated to (original UMA1) core spec scope; may use obsolete languagecriticalsimplifyRelated to the UMA1-to-UMA2 effort to simplify UMAwideeco

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions