Skip to navigation
AppsAdmin EssentialsIntegrations and modelsAuthentication

Understand auth security schemes

After you create an integration, a security scheme authentication object is added to the service configuration properties.

Supported security schemes

The following security schemes are supported:

  • apiKey (including AWS)
  • https
  • oauth2
  • mutualTLS
  • OpenIDConnectScheme

Considerations

  • Tokens must be self-managed.
  • For Amazon Web Services (AWS), ensure the securityScheme entry is an apiKey and has the following extension: "x-amazon-apigateway-authtype": "awsSigv4".
  • When you import an integration model, you can only a single security scheme is supported.
  • The first scheme in the securityScheme map is automatically selected.
"securitySchemes": {
"Authorization": {
"type": "apiKey",
"description": "Amazon S3 signature",
"name": "Authorization",
"in": "header",
"x-amazon-apigateway-authtype": "awsSigv4"
}
}

Example security schemes

Listed below are examples of each security scheme that can be used with Integration Models. The property names API-Token and Authorization in the API Key and AWS examples come from the name of the securityScheme property in the OpenAPI document.

API Key

"authentication": {
"API-Token": {
"value": "<INSERT API-Token HERE>"
}
}

AWS

"authentication": {
"Authorization": {
"accessKeyId": "<INSERT accessKeyId HERE>",
"secretAccessKey": "<INSERT secretAccessKey HERE>"
}
}

AWS Lambda

Certain AWS endpoints (i.e., AWS Sig4) may need a configured sessionToken. Itential Platform includes support for AWS Lambda, a custom extension to OpenAPI that requires a key/secret and a session token.

"authentication": {
"Authorization": {
"accessKeyId": "awsKeys.accessKeyId",
"secretAccessKey": "awsKeys.secretAccessKey",
"sessionToken": "awsKeys.sessionToken"
}
}

HTTP (Basic and Bearer)

Basic:

"authentication": {
"httpBasic": {
"username": "<INSERT username HERE>",
"password": "<INSERT password HERE>"
}
}

Bearer:

"authentication": {
"bearerAuth": "<INSERT bearerAuth HERE>"
}

OAuth2

"authentication": {
"oauth2": {
"token": {
"access_token": "<INSERT access_token HERE>",
"token_type": "Bearer"
}
}
}