POST /auth/exchange — service presents user JWT + own credentials, gets scoped token for downstream with both identities.
POST /auth/exchange
Code repo: rock/homelab-frontend
rock/homelab-frontend
grant_type=urn:ietf:params:oauth:grant-type:token-exchange subject_token=<user JWT> subject_token_type=urn:ietf:params:oauth:token-type:access_token client_id=portfolio-agent client_secret=<service secret> scope=memory:read resource=poimen-memory
{ "sub": "rock", "azp": "portfolio-agent", "act": {"sub": "portfolio-agent"}, "roles": ["memory:read"], "aud": "poimen-memory" }
act
No dependencies set.
The note is not visible to the blocked user.
Summary
POST /auth/exchange— service presents user JWT + own credentials, gets scoped token for downstream with both identities.Code repo:
rock/homelab-frontendRequest
Response JWT claims
Investigation needed
Acceptance Criteria
actclaim (RFC 8693 actor)Depends on