Flow · consent
Human-in-the-loop via CIBA
The agent is unattended. It needs a specific approval on the user's phone before a sensitive tool runs.
Actors
Agent · OpenID provider · User (authentication device)
Sequence
- 1
Agent→OpenID provider
Backchannel authorize: login_hint, scope, binding_message describing the action
- 2
OpenID provider→User
Push / app notification with the binding message
- 3
User→OpenID provider
Approve or deny
- 4
Agent→OpenID provider
Poll token endpoint with grant_type CIBA + auth_req_id
Caveats
CIBA authenticates/consents a grant; it does not replace resource-server policy. For enterprise pre-approved app connections, XAA may avoid a prompt entirely — that is a different control.