Skip to main content

External Frontend

The configuration of an external frontend is optional. It creates an entry point from the mStudio into the extension.

We recommend configuring an external frontend if the extension has its user interface and user flow usually originates from the mStudio. We also recommend this, if users can use the extension without the mStudio, to make the entry into the extension easier.

Defining an external frontend enables the use of the single sign-on feature via ATReK. Also, it enables the use of the current mStudio user context in the extension.

Configuration

The external frontend is configured as a URL. This configuration supports templating. For more information, see templating of configuration values. The external frontend is configured in the extension definition under externalComponents.frontends. For more information, see extension reference.

Using the ATReK

You have to define the following placeholders in the URL to use the single sign-on feature via ATReK:

  • accessTokenRetrievalKey
  • userId

The extension then can extract the ATReK and the user ID from the HTTP call and exchange it for an access token. For more information, see using an Access Token Retrieval Key.

Using the User Context

You can also use the external frontend to use the current user context of the mStudio in the extension. This can make sense if a user enters the extension from a specific project, and the extension should display said project.

Useful placeholders in the URL for internal routing are:

  • apiVersion - API version of the external frontend url template. In the beginning always v1. For more information, see API versioning
  • contributorId - The ID of the contributor in UUID format
  • extensionId - The ID of the extension in UUID format
  • extensionInstanceId - The ID of the extension instance in UUID format
  • context - The kind of extension context, the extension instance was added to
  • contextId - The ID of the extension context, the extension instance was added to
  • userId - The ID of the user that is currently using the extension
  • accessTokenRetrievalKey - The AccessTokenRetrievalKey, commonly called ATReK, of the user. Can be used by the extension instance to perform Authentication via ATRek