docs: clarify Accelerated IdP Flow subject token - #783
Open
atakedemo wants to merge 2 commits into
Open
Conversation
…nsent models
The Accelerated IdP Flow describes Step 2 as using "the platform's existing
IdP access token" as the subject_token, and requires IdPs to verify "the user
has authorized identity sharing" — but neither the token acquisition flow nor
the consent model that satisfies this check were defined anywhere in the spec.
This left implementors of both platforms and IdPs with ambiguity on two
prerequisite questions before the flow can begin.
Three documentation-only additions to address this:
1. New `### Subject Token` subsection (before `### Flow`): explains that the
subject_token is obtained by running the standard Authorization Code + PKCE
flow against the IdP itself (same pattern as Account Linking Flow, targeting
the IdP rather than a business); states that `openid` scope is the minimum
required, and that platforms should pre-request scopes for any claims listed
in target businesses' `required_claims`.
common approaches — platform-level consent (captured once at IdP sign-in)
and per-business consent (IdP prompts on first access per business) — and
adds SHOULD guidance for IdPs to document which model they implement.
3. New `### End-to-End Walkthrough (Accelerated IdP Flow)` in `## Examples`:
a complete step-by-step example covering subject token acquisition,
token exchange at the IdP (with decoded JWT grant), JWT bearer assertion
at the business, and authenticated requests — parallel to the existing
Account Linking Flow walkthrough.
No existing MUST/SHOULD requirements are modified. All additions are
documentation and SHOULD-level guidance.
Related: Universal-Commerce-Protocol#667 (addresses a separate gap in the same flow — client auth for
unregistered businesses and auth_url trust anchor — not consent timing)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Motivation
The Accelerated IdP Flow currently describes Step 2 as:
However, the specification does not define:
The IdP MUST NOT issue grants for businesses the user has not authorized) without describing the consent model that satisfies it.These gaps create ambiguity for both Platform implementors (how do I get a subject token?) and IdP implementors (which consent model should I implement?).
This is distinct from #667, which addresses trust-chain security gaps after a subject token is already in hand (client authentication for unregistered businesses and
auth_urltrust anchor).Proposed Changes
Three additive documentation-only changes to
docs/specification/common/identity-linking/index.md:1. New
### Subject Tokensubsection in## Accelerated IdP FlowInserted before
### Flow. Clarifies that:openidscope; platforms SHOULD also pre-request scopes for any claims listed in target businesses'required_claims.2.
**Consent models.**paragraph in## IdP RequirementsInserted after the existing MUST list. Describes the two common consent patterns the IdP MAY implement:
openidscope at sign-in); IdP issues grants for any relying party thereafter.Adds SHOULD guidance that IdPs document their model and that platforms communicate it to users.
3. New
### End-to-End Walkthrough (Accelerated IdP Flow)in## ExamplesAdded after the existing Account Linking Flow walkthrough. Provides a complete step-by-step example covering:
config.providersand selects a matching entryNormative Impact
None. All proposed text is documentation and SHOULD-level guidance. No existing MUST requirements are changed. The changes clarify existing implied behavior without adding new constraints.
Category (Required)
Please select one or more categories that apply to this change.
ucp-schematool (resolver, linter, validator). (Requires Maintainer approval)Related Issues
Checklist
!for breaking changes).Screenshots / Logs (if applicable)