Flow 1
On-behalf-of attenuation
- 1
User delegates to Agent A (authorization code). A holds a token with sub=user, client_id=A.
- 2
A calls token exchange: subject_token=user token, actor_token=A's identity if distinct, resource=downstream API, narrower scope.
- 3
AS issues a JWT with sub=user, act=A, aud=downstream, reduced scope.
- 4
A (or Service B) presents that token. Downstream must see both sub and act.
Never expand scope. If crossing domains, do not send this access token to AS B — mint a JWT grant (identity chaining) instead.