# ConnectorAuthenticationConfigurationProperty

Configuration that defines supported authentication types and required properties.

- Source: Generated code
- Type last changed: v2.272.0 · 30 Sep 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_glue as glue } from 'aws-cdk-lib';
const connectorAuthenticationConfigurationProperty: glue.CfnConnectionType.ConnectorAuthenticationConfigurationProperty = {
  authenticationTypes: ['authenticationTypes'],

  // the properties below are optional
  basicAuthenticationProperties: {
    password: {
      name: 'name',
      propertyType: 'propertyType',
      required: false,

      // the properties below are optional
      keyOverride: 'keyOverride',
      propertyLocation: 'propertyLocation',
    },
    username: {
      name: 'name',
      propertyType: 'propertyType',
      required: false,

      // the properties below are optional
      keyOverride: 'keyOverride',
      propertyLocation: 'propertyLocation',
    },
  },
  customAuthenticationProperties: {
    authenticationParameters: [{
      name: 'name',
      propertyType: 'propertyType',
      required: false,

      // the properties below are optional
      keyOverride: 'keyOverride',
      propertyLocation: 'propertyLocation',
    }],
  },
  oAuth2Properties: {
    oAuth2GrantType: 'oAuth2GrantType',

    // the properties below are optional
    authorizationCodeProperties: {
      authorizationCode: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      authorizationCodeUrl: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      clientId: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      clientSecret: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      contentType: 'contentType',
      prompt: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      redirectUri: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      requestMethod: 'requestMethod',
      scope: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      tokenUrl: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      tokenUrlParameters: [{
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      }],
    },
    clientCredentialsProperties: {
      clientId: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      clientSecret: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      contentType: 'contentType',
      requestMethod: 'requestMethod',
      scope: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      tokenUrl: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      tokenUrlParameters: [{
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      }],
    },
    jwtBearerProperties: {
      contentType: 'contentType',
      jwtToken: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      requestMethod: 'requestMethod',
      tokenUrl: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      tokenUrlParameters: [{
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      }],
    },
  },
};
```

## Properties

- `authenticationTypes`: string[] (required) — A list of authentication types supported.

- `basicAuthenticationProperties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnConnectionType.BasicAuthenticationPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_glue.CfnConnectionType.BasicAuthenticationPropertiesProperty.html) — Basic authentication configuration.

- `customAuthenticationProperties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnConnectionType.CustomAuthenticationPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_glue.CfnConnectionType.CustomAuthenticationPropertiesProperty.html) — Custom authentication configuration.

- `oAuth2Properties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnConnectionType.ConnectorOAuth2PropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_glue.CfnConnectionType.ConnectorOAuth2PropertiesProperty.html) — OAuth2 configuration container.
