UI Client

What’s in this document?

The Metadata Studio UI is an Angular application running in an Nginx server inside a Docker container.

The UI Service consists of the following components:

https://lucid.app/publicSegments/view/100ef40f-09e9-4520-b488-c34f2110fee0/image.jpeg

External interfaces

Metadata Studio integrates with an external OAuth2 service access control. By default, Metadata Studio runs with Keycloak, as described in the Security section. It relies on the following endpoints:

  • authorization endpoint: the URL to redirect to in case no user is currently logged in. The request returns a temporary access code that is later on traded for a JWT token. For the Keycloak integration, this is set to http://{omds-oauth-url}/auth/realms/metadata-studio/protocol/openid-connect/auth.
  • token retrieval endpoint: the URL to retrieve a JWT access token from based on the access code received from the authorization. For the Keycloak integration, this is set to http://{omds-oauth-url}/auth/realms/metadata-studio/protocol/openid-connect/token.
  • logout endpoint: the URL to redirect to for ending a user session when logout is requested. For the Keycloak integration, this is set to http://{omds-oauth-url}/auth/realms/metadata-studio/protocol/openid-connect/logout.

Internal interfaces

For the implementation of all functional services, the Metadata Studio UI client integrates with the GraphQL endpoint (/graphql) exposed by the Metadata Studio backend.

Each of these services corresponds to a specific view in the Metadata Studio interface.