Consume internal API as an application ΒΆ

This how-to guides you through the steps required to consume an API secured with Entra ID as an application (or a machine user). This is also known as the machine-to-machine (M2M) or client credentials flow.

Prerequisites ΒΆ

Configure your application ΒΆ

Enable Entra ID in your application:

app.yaml

Depending on how you communicate with the API you're consuming, configure the appropriate outbound access policies:

app.yaml
app.yaml

Acquire token ΒΆ

Now you can request a new token for the API that you want to consume.

Send a HTTP POST request to the endpoint found in the NAIS_TOKEN_ENDPOINT environment variable. The request must have a Content-Type header set to either:

  • application/json or
  • application/x-www-form-urlencoded

The body of the request should contain the following parameters:

ParameterExample ValueDescription
identity_providerentra_idAlways entra_id.
target<environment>:<team>:<other-api-app-name>The intended audience (target API or recipient) of the new token. Use the environment, team and application name of the target API. The legacy format api://<environment>.<team>.<other-api-app-name>/.default is also accepted.
Token request
Token request
Successful response

Your application does not need to validate this token.

Consume API ΒΆ

Once you have acquired a new token, you can finally consume the target API by using the token as a Bearer token:

http

πŸ“š Entra ID reference