-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Hello,
I'm seeking clarification on the intended interaction between the OpenID Federation trust model and the OAuth 2.0 Token Introspection endpoint. The specification is clear about trust establishment during the authorization flow, but less explicit about subsequent interactions.
Scenario:
- A Client is registered with an OpenID Provider (OP).
- A Protected Resource (PR) exists, which is not pre-registered with the OP, but shares a common Trust Anchor with it.
- The Client obtains an access token from the OP and presents it to the PR.
- The PR now needs to validate this access token by calling the OP's introspection endpoint.
According to RFC 7662, to prevent token scanning attacks, the introspection endpoint should be protected and require the client (in this case, the PR) to authenticate itself. Since the PR is not registered, it cannot use a pre-configured client_id or client_secret.
When the OP receives this authenticated call from an unknown entity (the PR), is the following interpretation correct?
- The OP must first perform Trust Chain Resolution on the identity of the calling PR.
- If a valid trust chain can be built to a shared Trust Anchor, the OP can consider the PR authenticated and trusted. It can then proceed to introspect the access token and return a response.
- If no valid trust chain can be established, the OP should reject the request with an authentication error, even if the presented access token itself might have been valid.
This contrasts with a call to the Userinfo endpoint, where the authorization is based on the bearer token itself, and no separate trust establishment for the calling PR seems necessary.
Could you confirm if this interpretation is correct? If so, would you consider adding a note or an example to the specification clarifying this? It would provide valuable guidance for implementers on how to correctly secure endpoints in a federated environment.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status