diff --git a/index.html b/index.html index 1381f114..ef3ae01d 100644 --- a/index.html +++ b/index.html @@ -485,6 +485,13 @@

via an [=digital credential/exchange protocol=], to respond to a [=digital credential/presentation request=] by a [=verifier=]. +
+ Credential request +
+
+ A [=digital credential/presentation request=] or an [=digital + credential/issuance request=]. +
Issuance request @@ -539,7 +546,121 @@

issuance protocol is identified by a [=digital credential/protocol identifier=]. See also section [[[#protocol-registry]]]. +
+ Request coordinator +
+
+ See [=credential request coordinator=]. +
+

+ Credential Request Coordinator +

+

+ The credential request coordinator + is a user-agent-defined component that mediates [=digital credential=] + interactions through the [=top-level traversable=]. Each [=top-level + traversable=] has exactly one associated coordinator. The coordinator + ensures that at most one interaction is active across all [=child + navigables=], orchestrates the end-to-end flow of presentation or + issuance, and manages transitions between [=credential request + coordinator/interaction states=]. +

+

+ A user agent MAY delegate some or all coordinator responsibilities to + external wallet applications, platform components, or other trusted + entities according to user or platform policy. +

+

+ The coordinator manages the lifecycle of the interaction's {{Promise}} + and its associated {{AbortSignal}} (if any), including resolution with + the user's selected [=digital credential=], the [=holder=]'s response, or rejection due to errors or + the user or program aborting the [=credential request=]. +

+

+ The [=credential request coordinator=]: +

+ + +

+ Interaction states +

+

+ The [=credential request coordinator=] has a finite set of + interaction + states, which are used to manage the lifecycle of a [=credential request=]: +

+
+
+ "idle": +
+
+ No [=credential request=] is currently in progress. +
+
+ "requesting": +
+
+ A [=credential request=] is in progress and the user interface is + presented. +
+
+ "aborting": +
+
+ The active interaction is being canceled due to an error, a user + action, or a [=AbortController/signal abort=]; the coordinator is + cleaning up before returning to "[=credential request + coordinator/idle=]". +
+
+

+ The coordinator is initialized in the [=credential request + coordinator/idle=] [=credential request coordinator/interaction state=]. +

+

+ Prepare credential requests +

+

+ To be written. +

+

+ Abort the credential request +

+

+ To be written. +

+

+ Dismiss the credential request +

+

+ To be written. +

+

+ Present the credential request +

+

+ To be written. +