Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sequence Diagram

The diagram below illustrates the SSI authentication flow. This documentation will only focus on the steps relevant to the integration process.

...

  • User Wallet: Gataca Wallet

  • Relying Party App (also known as a service provider): refers to the web or mobile application that requires authentication from a user - this is your organization.

  • Connect: Verifier component in Gataca Studio

Integration process

Authentication request

To start the integration process, you must have already created a verification template and an API Key in Gataca Studio.

...

Code Block
curl --request POST 'https://nucleus.gataca.io/admin/v1/api_keys/login' \
        --header 'Authorization: Basic [AUTH]'
Panel
panelIconId1f595
panelIcon:middle_finger:
panelIconText🖕
bgColor#FFFAE6

This configuration is DEPRECATED and it should be modified to use the following one:

Code Block
curl --request POST 'https://nucleus.gataca.io/admin/v1/api_keys/login' \
        --header 'Authorization: Basic [AUTH]'
        --header 'tenant: [TENANT_ID]'
        --header 'ssiconfig: [SSI_CONFIG_ID]'
  • AUTH: base64(apikey:password) - You must provide the API Key ID and password given when creating the API Key in Studio, encoded in base64 format in the HTTP request header: base64(apikey:password) - You must provide the API Key ID (UUID) and secret given when creating the API Key in Studio, encoded in base64 format in the HTTP request header.

  • TENANT_ID: This is the identifier for each tenant (organization) into the Studio platform. This identifier can be get it in the following section.

  • SSI_CONFIG_ID: This identifier refers to the feature you are trying to perform. In case of Issuance / Verificaiton templates, the identifier will be template identifier.

The server then verifies these credentials and, if they are valid, issues an access token that you can use to access the protected endpoint.

...

The response also has the following headers attached:

  • Header.Token: Access token received to access the protected endpoints.

  • Header.Token_type: Type of token used by Gataca. By default, it is jwt (JSON Web Token).

  • set-cookie: Cookie with the access token related with the previous execution.

You will need the access token in the following steps, so make sure to copy it.

Generate a Session (Sequence Diagram Steps 2 - 3)

The token received in the previous step must be used to generate a new session (Step 2).

...

Info

The session generation step can be automatic using GatacaQR, a JavaScript component allowing any relying party to generate a session in a simple way.

You will find the GatacaQR component code repositories at the end of this documentation.

Get Session Info (Sequence Diagram Steps 4 & 15 - 5 & 16)

This function (Steps 4 & 15) checks whether the session has been filled.

...

If you have any questions or need assistance integrating Gataca Studio, please get in touch with our support team at help@gataca.io for further assistance.

...

GatacaQR component

Instead of manually doing the previous process, you can also use GatacaQR. This JavaScript component implements a set of features to allow any relying party to execute the session generation in a simple way.

...

GitHub: https://github.com/gataca-io/gataca-QR

...

API Documentation with Swagger

To access the Swagger documentation for our API, navigate to https://api.gataca.io/. Here you will find detailed information about each endpoint, including the parameters that can be passed in the request, the expected response format, and any authentication or authorization requirements.

...