⚙️ Customer Initiated Flows Implementation Sequence
To implement any of the Customer Initiated flows, you will need to follow the sequence below:
-
From your backend servers, call the CIBA endpoint of eIdent and the CIBA protocol to start a new transaction, indicating what kind of transaction (provisioning, Authentication or Consent).
-
Extract the process identifier within the response (auth_req_id) and send it over to your app.
-
In your app, use the process identifier within the response (auth_req_id) to start the chosen transaction by invoking the appropriate SDK APIs.
-
Wait for the user to complete the process (alternatively, poll the server for updates).
-
From your backend servers, poll the token endpoint of the eIdent server with the process identifier (auth_req_id) to retrieve the ID token with the result of the transaction.
-
Use the access token from within the ID token, and call the UserInfo endpoint of the eIdent server to get extra information related to the transaction (optional).
🔀 CIBA Flow Diagram
CIBA Flow for Provisioning, Authentication and Consent processes.svg