Prerequisites
To integrate Digital ID, you need:- A secure backend to make API calls
- A frontend website or mobile app
- An encryption key pair, with the public key formatted as a JWKS
Prepare your public JWKS
ThepublicJwks field takes your public key as a JSON Web Key Set (JWKS). A JWKS is a JSON object with a keys array.
Include a single public key in the array. If you supply more than one key, then GBG Go uses only the first one. Keep your private key on your side, because you use it to decrypt the encrypted results.
The following examples show an RSA public JWKS and an EC public JWKS:
Step 1: List applicable providers
Display a list of identity providers and prompt the user to select one. Display each provider using both the logo and name as shown below to comply with brand requirements.
Provider ID:
usa-louisiana-walletProvider ID:
sweden-bankidProvider ID:
denmark-mitid
Provider ID:
usa-california-dmvProvider ID:
italy-spidStep 2: Create a session
After the user selects an identity provider, follow these steps:1
Authenticate with GBG Go API
Use your API credentials to authenticate with the GBG Go API and obtain an access token. For detailed instructions, refer to the Authentication guide.
2
Start a journey
Use the For more details on starting a journey, refer to the Start a journey guide.
/journey/start endpoint to initiate a customer journey.Sample request payload:JSON
3
Fetch journey state
After starting the journey, use the For more details on fetching the journey state, refer to the Fetch journey state guide.
/journey/state endpoint to retrieve the current state of the journey. This provides you with a URI to redirect the user to the Digital ID provider’s hosted UI. The response includes a sessionId and a launchUrl field as shown in the example below:JSON
Save the
sessionId in your database and send the launchUrl to your frontend.Step 3: Launch session on frontend
When your frontend receives thelaunchUrl from your backend, launch it by navigating the user’s browser to the URL. This can be:
- A top-level navigation
- A new tab or window
- A dialog
Step 4: Capture user redirect
When the user completes the session, they are redirected to your specifiedredirectUrl with added query parameters:
sessionId
sessionId to your backend to fetch the final session results.
Step 5: Retrieve session results
After your frontend sends thesessionId to your backend, follow these steps:
1
Retrieve tasks
Use the
/journey/tasks/list endpoint to get a list of tasks associated with the session. This helps you identify the specific task ID needed to fetch detailed results.2
Submit task data
Use the Submit the
/journey/task/update endpoint to submit any required data for the task.Sample request payload:JSON
sessionId as clientId.For more details on submitting task data, refer to the Submit task data guide.3
Fetch journey state
Use the The response includes the results of the Digital ID verification.sample response payload:For more details on fetching the journey state, refer to the Fetch journey state guide.
/journey/state endpoint to check the status of the journey and retrieve the results.Sample request payload:JSON
JSON
Troubleshooting
This section covers errors you might see when you send your public JWKS.Invalid value format for publicJwks
If the publicJwks value isn’t in the expected format, then the API returns this error:
JSON
- Check that the value is a JWKS object with a
keysarray. A single JSON Web Key (JWK) or a PEM string isn’t valid. - Check that the key contains only public components.
- Validate the JSON. Look for trailing commas and incorrect quoting.
- Send the request again.