1. Registry
  2. Packages
  3. Konnect Provider
  4. API Docs
  5. AiGatewayAuthStrategy
Viewing docs for konnect 3.23.0
published on Friday, Sep 18, 2026 by kong
Viewing docs for konnect 3.23.0
published on Friday, Sep 18, 2026 by kong

    AIGatewayAuthStrategy Resource

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as konnect from "@pulumi/konnect";
    
    const myAigatewayauthstrategy = new konnect.AiGatewayAuthStrategy("my_aigatewayauthstrategy", {
        gatewayId: "5f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
        keyAuth: {
            config: {
                anonymous: "...my_anonymous...",
                hideCredentials: true,
                identityRealms: [{
                    id: "...my_id...",
                    region: "...my_region...",
                    scope: "cp",
                }],
                keyInBody: false,
                keyInHeader: true,
                keyInQuery: true,
                keyNames: ["..."],
                principals: {
                    directory: "default",
                    enabled: false,
                    errorOnMiss: true,
                },
                realm: "...my_realm...",
                runOnPreflight: true,
            },
            displayName: "Okta AI SE",
            labels: {
                key: "value",
            },
            managedBy: {
                key: "value",
            },
            name: "okta-ai-se",
        },
        openidConnect: {
            config: {
                anonymous: "...my_anonymous...",
                audiences: ["..."],
                audienceClaims: ["..."],
                audienceRequireds: ["..."],
                authMethods: ["userinfo"],
                authenticatedGroupsClaims: ["..."],
                authorizationCookieDomain: "...my_authorization_cookie_domain...",
                authorizationCookieHttpOnly: true,
                authorizationCookieName: "authorization",
                authorizationCookiePath: "/",
                authorizationCookieSameSite: "Default",
                authorizationCookieSecure: false,
                authorizationEndpoint: "...my_authorization_endpoint...",
                authorizationQueryArgsClients: ["..."],
                authorizationQueryArgsNames: ["..."],
                authorizationQueryArgsValues: ["..."],
                authorizationRollingTimeout: 600,
                bearerTokenCookieName: "...my_bearer_token_cookie_name...",
                bearerTokenParamTypes: ["cookie"],
                byUsernameIgnoreCase: false,
                cacheIntrospection: true,
                cacheTokenExchange: true,
                cacheTokens: true,
                cacheTokensSalt: "...my_cache_tokens_salt...",
                cacheTtl: 3600,
                cacheTtlMax: 6.13,
                cacheTtlMin: 8.74,
                cacheTtlNeg: 5.39,
                cacheTtlResurrect: 8.05,
                cacheUserInfo: true,
                claimsForbiddens: ["..."],
                clientAlgs: ["RS512"],
                clientArg: "client_id",
                clientAuths: ["client_secret_basic"],
                clientCredentialsParamTypes: ["body"],
                clientIds: ["..."],
                clientJwks: [{
                    alg: "...my_alg...",
                    crv: "...my_crv...",
                    d: "...my_d...",
                    dp: "...my_dp...",
                    dq: "...my_dq...",
                    e: "...my_e...",
                    issuer: "...my_issuer...",
                    k: "...my_k...",
                    keyOps: ["..."],
                    kid: "...my_kid...",
                    kty: "...my_kty...",
                    n: "...my_n...",
                    oth: "...my_oth...",
                    p: "...my_p...",
                    q: "...my_q...",
                    qi: "...my_qi...",
                    r: "...my_r...",
                    t: "...my_t...",
                    use: "...my_use...",
                    x: "...my_x...",
                    x5cs: ["..."],
                    x5t: "...my_x5t...",
                    x5tNumberS256: "...my_x5t_number_s256...",
                    x5u: "...my_x5u...",
                    y: "...my_y...",
                }],
                clientSecrets: ["..."],
                clusterCacheRedis: {
                    cloudAuthentication: {
                        authProvider: "gcp",
                        awsAccessKeyId: "...my_aws_access_key_id...",
                        awsAssumeRoleArn: "...my_aws_assume_role_arn...",
                        awsCacheName: "...my_aws_cache_name...",
                        awsIsServerless: true,
                        awsRegion: "...my_aws_region...",
                        awsRoleSessionName: "...my_aws_role_session_name...",
                        awsSecretAccessKey: "...my_aws_secret_access_key...",
                        azureClientId: "...my_azure_client_id...",
                        azureClientSecret: "...my_azure_client_secret...",
                        azureTenantId: "...my_azure_tenant_id...",
                        gcpServiceAccountJson: "...my_gcp_service_account_json...",
                    },
                    clusterMaxRedirections: 5,
                    clusterNodes: [{
                        ip: "127.0.0.1",
                        port: 6379,
                    }],
                    connectTimeout: 2000,
                    connectionIsProxied: false,
                    database: 0,
                    host: "127.0.0.1",
                    keepaliveBacklog: 1429494394,
                    keepalivePoolSize: 256,
                    password: "...my_password...",
                    port: "6379",
                    readTimeout: 2000,
                    sendTimeout: 2000,
                    sentinelMaster: "...my_sentinel_master...",
                    sentinelNodes: [{
                        host: "127.0.0.1",
                        port: 6379,
                    }],
                    sentinelPassword: "...my_sentinel_password...",
                    sentinelRole: "any",
                    sentinelUsername: "...my_sentinel_username...",
                    serverName: "...my_server_name...",
                    ssl: false,
                    sslVerify: true,
                    username: "...my_username...",
                },
                clusterCacheStrategy: "off",
                consumerBies: ["id"],
                consumerClaims: [[]],
                consumerGroupsClaims: ["..."],
                consumerGroupsOptional: false,
                consumerOptional: false,
                credentialClaims: ["..."],
                disableSessions: ["bearer"],
                discoveryHeadersNames: ["..."],
                discoveryHeadersValues: ["..."],
                displayErrors: false,
                domains: ["..."],
                downstreamAccessTokenHeader: "...my_downstream_access_token_header...",
                downstreamAccessTokenJwkHeader: "...my_downstream_access_token_jwk_header...",
                downstreamHeaders: [{
                    header: "...my_header...",
                    paths: ["..."],
                }],
                downstreamHeadersClaims: ["..."],
                downstreamHeadersNames: ["..."],
                downstreamIdTokenHeader: "...my_downstream_id_token_header...",
                downstreamIdTokenJwkHeader: "...my_downstream_id_token_jwk_header...",
                downstreamIntrospectionHeader: "...my_downstream_introspection_header...",
                downstreamIntrospectionJwtHeader: "...my_downstream_introspection_jwt_header...",
                downstreamRefreshTokenHeader: "...my_downstream_refresh_token_header...",
                downstreamSessionIdHeader: "...my_downstream_session_id_header...",
                downstreamUserInfoHeader: "...my_downstream_user_info_header...",
                downstreamUserInfoJwtHeader: "...my_downstream_user_info_jwt_header...",
                dpopProofLifetime: 300,
                dpopUseNonce: false,
                enableHsSignatures: false,
                endSessionEndpoint: "...my_end_session_endpoint...",
                exposeErrorCode: true,
                extraJwksUris: ["..."],
                forbiddenDestroySession: true,
                forbiddenErrorMessage: "Forbidden",
                forbiddenRedirectUris: ["..."],
                groupsClaims: ["..."],
                groupsRequireds: ["..."],
                hideCredentials: true,
                httpProxy: "...my_http_proxy...",
                httpProxyAuthorization: "...my_http_proxy_authorization...",
                httpVersion: 9.47,
                httpsProxy: "...my_https_proxy...",
                httpsProxyAuthorization: "...my_https_proxy_authorization...",
                idTokenParamName: "...my_id_token_param_name...",
                idTokenParamTypes: ["body"],
                ignoreSignatures: ["session"],
                introspectJwtTokens: false,
                introspectionAccept: "application/json",
                introspectionCheckActive: true,
                introspectionEndpoint: "...my_introspection_endpoint...",
                introspectionEndpointAuthMethod: "client_secret_jwt",
                introspectionHeadersClients: ["..."],
                introspectionHeadersNames: ["..."],
                introspectionHeadersValues: ["..."],
                introspectionHint: "access_token",
                introspectionPostArgsClients: ["..."],
                introspectionPostArgsClientHeaders: ["..."],
                introspectionPostArgsNames: ["..."],
                introspectionPostArgsValues: ["..."],
                introspectionTokenParamName: "token",
                issuer: "...my_issuer...",
                issuersAlloweds: ["..."],
                jwksEndpoint: "...my_jwks_endpoint...",
                jwtSessionClaim: "sid",
                jwtSessionCookie: "...my_jwt_session_cookie...",
                keepalive: true,
                leeway: 0,
                loginAction: "upstream",
                loginMethods: ["client_credentials"],
                loginRedirectMode: "fragment",
                loginRedirectUris: ["..."],
                loginTokens: ["tokens"],
                logoutMethods: ["GET"],
                logoutPostArg: "...my_logout_post_arg...",
                logoutQueryArg: "...my_logout_query_arg...",
                logoutRedirectUris: ["..."],
                logoutRevoke: false,
                logoutRevokeAccessToken: true,
                logoutRevokeRefreshToken: true,
                logoutUriSuffix: "...my_logout_uri_suffix...",
                maxAge: 8.25,
                mtlsIntrospectionEndpoint: "...my_mtls_introspection_endpoint...",
                mtlsRevocationEndpoint: "...my_mtls_revocation_endpoint...",
                mtlsTokenEndpoint: "...my_mtls_token_endpoint...",
                noProxy: "...my_no_proxy...",
                passwordParamTypes: ["query"],
                preserveQueryArgs: false,
                principals: {
                    directory: "default",
                    enabled: false,
                    errorOnMiss: true,
                    matchConsumer: true,
                    matchConsumerGroups: true,
                    principalBy: "...my_principal_by...",
                    principalClaims: ["..."],
                },
                proofOfPossessionAuthMethodsValidation: true,
                proofOfPossessionDpop: "off",
                proofOfPossessionMtls: "off",
                pushedAuthorizationRequestEndpoint: "...my_pushed_authorization_request_endpoint...",
                pushedAuthorizationRequestEndpointAuthMethod: "self_signed_tls_client_auth",
                redirectUris: ["..."],
                redis: {
                    cloudAuthentication: {
                        authProvider: "azure",
                        awsAccessKeyId: "...my_aws_access_key_id...",
                        awsAssumeRoleArn: "...my_aws_assume_role_arn...",
                        awsCacheName: "...my_aws_cache_name...",
                        awsIsServerless: true,
                        awsRegion: "...my_aws_region...",
                        awsRoleSessionName: "...my_aws_role_session_name...",
                        awsSecretAccessKey: "...my_aws_secret_access_key...",
                        azureClientId: "...my_azure_client_id...",
                        azureClientSecret: "...my_azure_client_secret...",
                        azureTenantId: "...my_azure_tenant_id...",
                        gcpServiceAccountJson: "...my_gcp_service_account_json...",
                    },
                    clusterMaxRedirections: 5,
                    clusterNodes: [{
                        ip: "127.0.0.1",
                        port: 6379,
                    }],
                    connectTimeout: 2000,
                    connectionIsProxied: false,
                    database: 0,
                    host: "127.0.0.1",
                    keepaliveBacklog: 73538938,
                    keepalivePoolSize: 256,
                    password: "...my_password...",
                    port: "6379",
                    prefix: "...my_prefix...",
                    readTimeout: 2000,
                    sendTimeout: 2000,
                    sentinelMaster: "...my_sentinel_master...",
                    sentinelNodes: [{
                        host: "127.0.0.1",
                        port: 6379,
                    }],
                    sentinelPassword: "...my_sentinel_password...",
                    sentinelRole: "slave",
                    sentinelUsername: "...my_sentinel_username...",
                    serverName: "...my_server_name...",
                    socket: "...my_socket...",
                    ssl: false,
                    sslVerify: true,
                    username: "...my_username...",
                },
                rediscoveryLifetime: 30,
                refreshTokenParamName: "...my_refresh_token_param_name...",
                refreshTokenParamTypes: ["header"],
                refreshTokens: true,
                requireProofKeyForCodeExchange: true,
                requirePushedAuthorizationRequests: true,
                requireSignedRequestObject: false,
                resolveDistributedClaims: false,
                responseMode: "query",
                responseTypes: ["..."],
                reverify: false,
                revocationEndpoint: "...my_revocation_endpoint...",
                revocationEndpointAuthMethod: "tls_client_auth",
                revocationTokenParamName: "token",
                rolesClaims: ["..."],
                rolesRequireds: ["..."],
                runOnPreflight: true,
                scopes: ["..."],
                scopesClaims: ["..."],
                scopesRequireds: ["..."],
                searchUserInfo: false,
                sessionAbsoluteTimeout: 86400,
                sessionAudience: "default",
                sessionBinds: ["ip"],
                sessionCookieDomain: "...my_session_cookie_domain...",
                sessionCookieHttpOnly: true,
                sessionCookieName: "session",
                sessionCookiePath: "/",
                sessionCookieSameSite: "Lax",
                sessionCookieSecure: true,
                sessionEnforceSameSubject: false,
                sessionHashStorageKey: false,
                sessionHashSubject: false,
                sessionIdlingTimeout: 900,
                sessionMemcachedHost: "127.0.0.1",
                sessionMemcachedPort: 11211,
                sessionMemcachedPrefix: "...my_session_memcached_prefix...",
                sessionMemcachedSocket: "...my_session_memcached_socket...",
                sessionMemcachedSsl: true,
                sessionMemcachedSslVerify: true,
                sessionRemember: false,
                sessionRememberAbsoluteTimeout: 2592000,
                sessionRememberCookieName: "remember",
                sessionRememberRollingTimeout: 604800,
                sessionRequestHeaders: ["subject"],
                sessionResponseHeaders: ["absolute-timeout"],
                sessionRollingTimeout: 3600,
                sessionSecret: "...my_session_secret...",
                sessionStorage: "cookie",
                sessionStoreMetadata: false,
                sslVerify: true,
                timeout: 10000,
                tlsClientAuthCertId: "...my_tls_client_auth_cert_id...",
                tlsClientAuthSslVerify: true,
                tokenCacheKeyIncludeScope: false,
                tokenEndpoint: "...my_token_endpoint...",
                tokenEndpointAuthMethod: "client_secret_basic",
                tokenExchange: {
                    cache: {
                        enabled: true,
                        ttl: 7,
                    },
                    request: {
                        audiences: ["..."],
                        emptyAudience: false,
                        emptyScopes: false,
                        scopes: ["..."],
                    },
                    subjectTokenIssuers: [{
                        conditions: {
                            hasAudiences: ["..."],
                            hasScopes: ["..."],
                            missingAudiences: ["..."],
                            missingScopes: ["..."],
                        },
                        issuer: "...my_issuer...",
                    }],
                },
                tokenExchangeEndpoint: "...my_token_exchange_endpoint...",
                tokenHeadersClients: ["..."],
                tokenHeadersGrants: ["refresh_token"],
                tokenHeadersNames: ["..."],
                tokenHeadersPrefix: "...my_token_headers_prefix...",
                tokenHeadersReplays: ["..."],
                tokenHeadersValues: ["..."],
                tokenPostArgsClients: ["..."],
                tokenPostArgsNames: ["..."],
                tokenPostArgsValues: ["..."],
                unauthorizedDestroySession: true,
                unauthorizedErrorMessage: "Unauthorized",
                unauthorizedRedirectUris: ["..."],
                unexpectedRedirectUris: ["..."],
                upstreamAccessTokenHeader: "authorization:bearer",
                upstreamAccessTokenJwkHeader: "...my_upstream_access_token_jwk_header...",
                upstreamHeaders: [{
                    header: "...my_header...",
                    paths: ["..."],
                }],
                upstreamHeadersClaims: ["..."],
                upstreamHeadersNames: ["..."],
                upstreamIdTokenHeader: "...my_upstream_id_token_header...",
                upstreamIdTokenJwkHeader: "...my_upstream_id_token_jwk_header...",
                upstreamIntrospectionHeader: "...my_upstream_introspection_header...",
                upstreamIntrospectionJwtHeader: "...my_upstream_introspection_jwt_header...",
                upstreamRefreshTokenHeader: "...my_upstream_refresh_token_header...",
                upstreamSessionIdHeader: "...my_upstream_session_id_header...",
                upstreamUserInfoHeader: "...my_upstream_user_info_header...",
                upstreamUserInfoJwtHeader: "...my_upstream_user_info_jwt_header...",
                userinfoAccept: "application/json",
                userinfoEndpoint: "...my_userinfo_endpoint...",
                userinfoHeadersClients: ["..."],
                userinfoHeadersNames: ["..."],
                userinfoHeadersValues: ["..."],
                userinfoQueryArgsClients: ["..."],
                userinfoQueryArgsNames: ["..."],
                userinfoQueryArgsValues: ["..."],
                usingPseudoIssuer: false,
                verifyClaims: true,
                verifyNonce: true,
                verifyParameters: false,
                verifySignature: true,
            },
            displayName: "Okta AI SE",
            labels: {
                key: "value",
            },
            managedBy: {
                key: "value",
            },
            name: "okta-ai-se",
        },
    });
    
    import pulumi
    import pulumi_konnect as konnect
    
    my_aigatewayauthstrategy = konnect.AiGatewayAuthStrategy("my_aigatewayauthstrategy",
        gateway_id="5f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
        key_auth={
            "config": {
                "anonymous": "...my_anonymous...",
                "hide_credentials": True,
                "identity_realms": [{
                    "id": "...my_id...",
                    "region": "...my_region...",
                    "scope": "cp",
                }],
                "key_in_body": False,
                "key_in_header": True,
                "key_in_query": True,
                "key_names": ["..."],
                "principals": {
                    "directory": "default",
                    "enabled": False,
                    "error_on_miss": True,
                },
                "realm": "...my_realm...",
                "run_on_preflight": True,
            },
            "display_name": "Okta AI SE",
            "labels": {
                "key": "value",
            },
            "managed_by": {
                "key": "value",
            },
            "name": "okta-ai-se",
        },
        openid_connect={
            "config": {
                "anonymous": "...my_anonymous...",
                "audiences": ["..."],
                "audience_claims": ["..."],
                "audience_requireds": ["..."],
                "auth_methods": ["userinfo"],
                "authenticated_groups_claims": ["..."],
                "authorization_cookie_domain": "...my_authorization_cookie_domain...",
                "authorization_cookie_http_only": True,
                "authorization_cookie_name": "authorization",
                "authorization_cookie_path": "/",
                "authorization_cookie_same_site": "Default",
                "authorization_cookie_secure": False,
                "authorization_endpoint": "...my_authorization_endpoint...",
                "authorization_query_args_clients": ["..."],
                "authorization_query_args_names": ["..."],
                "authorization_query_args_values": ["..."],
                "authorization_rolling_timeout": 600,
                "bearer_token_cookie_name": "...my_bearer_token_cookie_name...",
                "bearer_token_param_types": ["cookie"],
                "by_username_ignore_case": False,
                "cache_introspection": True,
                "cache_token_exchange": True,
                "cache_tokens": True,
                "cache_tokens_salt": "...my_cache_tokens_salt...",
                "cache_ttl": 3600,
                "cache_ttl_max": 6.13,
                "cache_ttl_min": 8.74,
                "cache_ttl_neg": 5.39,
                "cache_ttl_resurrect": 8.05,
                "cache_user_info": True,
                "claims_forbiddens": ["..."],
                "client_algs": ["RS512"],
                "client_arg": "client_id",
                "client_auths": ["client_secret_basic"],
                "client_credentials_param_types": ["body"],
                "client_ids": ["..."],
                "client_jwks": [{
                    "alg": "...my_alg...",
                    "crv": "...my_crv...",
                    "d": "...my_d...",
                    "dp": "...my_dp...",
                    "dq": "...my_dq...",
                    "e": "...my_e...",
                    "issuer": "...my_issuer...",
                    "k": "...my_k...",
                    "key_ops": ["..."],
                    "kid": "...my_kid...",
                    "kty": "...my_kty...",
                    "n": "...my_n...",
                    "oth": "...my_oth...",
                    "p": "...my_p...",
                    "q": "...my_q...",
                    "qi": "...my_qi...",
                    "r": "...my_r...",
                    "t": "...my_t...",
                    "use": "...my_use...",
                    "x": "...my_x...",
                    "x5cs": ["..."],
                    "x5t": "...my_x5t...",
                    "x5t_number_s256": "...my_x5t_number_s256...",
                    "x5u": "...my_x5u...",
                    "y": "...my_y...",
                }],
                "client_secrets": ["..."],
                "cluster_cache_redis": {
                    "cloud_authentication": {
                        "auth_provider": "gcp",
                        "aws_access_key_id": "...my_aws_access_key_id...",
                        "aws_assume_role_arn": "...my_aws_assume_role_arn...",
                        "aws_cache_name": "...my_aws_cache_name...",
                        "aws_is_serverless": True,
                        "aws_region": "...my_aws_region...",
                        "aws_role_session_name": "...my_aws_role_session_name...",
                        "aws_secret_access_key": "...my_aws_secret_access_key...",
                        "azure_client_id": "...my_azure_client_id...",
                        "azure_client_secret": "...my_azure_client_secret...",
                        "azure_tenant_id": "...my_azure_tenant_id...",
                        "gcp_service_account_json": "...my_gcp_service_account_json...",
                    },
                    "cluster_max_redirections": 5,
                    "cluster_nodes": [{
                        "ip": "127.0.0.1",
                        "port": 6379,
                    }],
                    "connect_timeout": 2000,
                    "connection_is_proxied": False,
                    "database": 0,
                    "host": "127.0.0.1",
                    "keepalive_backlog": 1429494394,
                    "keepalive_pool_size": 256,
                    "password": "...my_password...",
                    "port": "6379",
                    "read_timeout": 2000,
                    "send_timeout": 2000,
                    "sentinel_master": "...my_sentinel_master...",
                    "sentinel_nodes": [{
                        "host": "127.0.0.1",
                        "port": 6379,
                    }],
                    "sentinel_password": "...my_sentinel_password...",
                    "sentinel_role": "any",
                    "sentinel_username": "...my_sentinel_username...",
                    "server_name": "...my_server_name...",
                    "ssl": False,
                    "ssl_verify": True,
                    "username": "...my_username...",
                },
                "cluster_cache_strategy": "off",
                "consumer_bies": ["id"],
                "consumer_claims": [[]],
                "consumer_groups_claims": ["..."],
                "consumer_groups_optional": False,
                "consumer_optional": False,
                "credential_claims": ["..."],
                "disable_sessions": ["bearer"],
                "discovery_headers_names": ["..."],
                "discovery_headers_values": ["..."],
                "display_errors": False,
                "domains": ["..."],
                "downstream_access_token_header": "...my_downstream_access_token_header...",
                "downstream_access_token_jwk_header": "...my_downstream_access_token_jwk_header...",
                "downstream_headers": [{
                    "header": "...my_header...",
                    "paths": ["..."],
                }],
                "downstream_headers_claims": ["..."],
                "downstream_headers_names": ["..."],
                "downstream_id_token_header": "...my_downstream_id_token_header...",
                "downstream_id_token_jwk_header": "...my_downstream_id_token_jwk_header...",
                "downstream_introspection_header": "...my_downstream_introspection_header...",
                "downstream_introspection_jwt_header": "...my_downstream_introspection_jwt_header...",
                "downstream_refresh_token_header": "...my_downstream_refresh_token_header...",
                "downstream_session_id_header": "...my_downstream_session_id_header...",
                "downstream_user_info_header": "...my_downstream_user_info_header...",
                "downstream_user_info_jwt_header": "...my_downstream_user_info_jwt_header...",
                "dpop_proof_lifetime": 300,
                "dpop_use_nonce": False,
                "enable_hs_signatures": False,
                "end_session_endpoint": "...my_end_session_endpoint...",
                "expose_error_code": True,
                "extra_jwks_uris": ["..."],
                "forbidden_destroy_session": True,
                "forbidden_error_message": "Forbidden",
                "forbidden_redirect_uris": ["..."],
                "groups_claims": ["..."],
                "groups_requireds": ["..."],
                "hide_credentials": True,
                "http_proxy": "...my_http_proxy...",
                "http_proxy_authorization": "...my_http_proxy_authorization...",
                "http_version": 9.47,
                "https_proxy": "...my_https_proxy...",
                "https_proxy_authorization": "...my_https_proxy_authorization...",
                "id_token_param_name": "...my_id_token_param_name...",
                "id_token_param_types": ["body"],
                "ignore_signatures": ["session"],
                "introspect_jwt_tokens": False,
                "introspection_accept": "application/json",
                "introspection_check_active": True,
                "introspection_endpoint": "...my_introspection_endpoint...",
                "introspection_endpoint_auth_method": "client_secret_jwt",
                "introspection_headers_clients": ["..."],
                "introspection_headers_names": ["..."],
                "introspection_headers_values": ["..."],
                "introspection_hint": "access_token",
                "introspection_post_args_clients": ["..."],
                "introspection_post_args_client_headers": ["..."],
                "introspection_post_args_names": ["..."],
                "introspection_post_args_values": ["..."],
                "introspection_token_param_name": "token",
                "issuer": "...my_issuer...",
                "issuers_alloweds": ["..."],
                "jwks_endpoint": "...my_jwks_endpoint...",
                "jwt_session_claim": "sid",
                "jwt_session_cookie": "...my_jwt_session_cookie...",
                "keepalive": True,
                "leeway": 0,
                "login_action": "upstream",
                "login_methods": ["client_credentials"],
                "login_redirect_mode": "fragment",
                "login_redirect_uris": ["..."],
                "login_tokens": ["tokens"],
                "logout_methods": ["GET"],
                "logout_post_arg": "...my_logout_post_arg...",
                "logout_query_arg": "...my_logout_query_arg...",
                "logout_redirect_uris": ["..."],
                "logout_revoke": False,
                "logout_revoke_access_token": True,
                "logout_revoke_refresh_token": True,
                "logout_uri_suffix": "...my_logout_uri_suffix...",
                "max_age": 8.25,
                "mtls_introspection_endpoint": "...my_mtls_introspection_endpoint...",
                "mtls_revocation_endpoint": "...my_mtls_revocation_endpoint...",
                "mtls_token_endpoint": "...my_mtls_token_endpoint...",
                "no_proxy": "...my_no_proxy...",
                "password_param_types": ["query"],
                "preserve_query_args": False,
                "principals": {
                    "directory": "default",
                    "enabled": False,
                    "error_on_miss": True,
                    "match_consumer": True,
                    "match_consumer_groups": True,
                    "principal_by": "...my_principal_by...",
                    "principal_claims": ["..."],
                },
                "proof_of_possession_auth_methods_validation": True,
                "proof_of_possession_dpop": "off",
                "proof_of_possession_mtls": "off",
                "pushed_authorization_request_endpoint": "...my_pushed_authorization_request_endpoint...",
                "pushed_authorization_request_endpoint_auth_method": "self_signed_tls_client_auth",
                "redirect_uris": ["..."],
                "redis": {
                    "cloud_authentication": {
                        "auth_provider": "azure",
                        "aws_access_key_id": "...my_aws_access_key_id...",
                        "aws_assume_role_arn": "...my_aws_assume_role_arn...",
                        "aws_cache_name": "...my_aws_cache_name...",
                        "aws_is_serverless": True,
                        "aws_region": "...my_aws_region...",
                        "aws_role_session_name": "...my_aws_role_session_name...",
                        "aws_secret_access_key": "...my_aws_secret_access_key...",
                        "azure_client_id": "...my_azure_client_id...",
                        "azure_client_secret": "...my_azure_client_secret...",
                        "azure_tenant_id": "...my_azure_tenant_id...",
                        "gcp_service_account_json": "...my_gcp_service_account_json...",
                    },
                    "cluster_max_redirections": 5,
                    "cluster_nodes": [{
                        "ip": "127.0.0.1",
                        "port": 6379,
                    }],
                    "connect_timeout": 2000,
                    "connection_is_proxied": False,
                    "database": 0,
                    "host": "127.0.0.1",
                    "keepalive_backlog": 73538938,
                    "keepalive_pool_size": 256,
                    "password": "...my_password...",
                    "port": "6379",
                    "prefix": "...my_prefix...",
                    "read_timeout": 2000,
                    "send_timeout": 2000,
                    "sentinel_master": "...my_sentinel_master...",
                    "sentinel_nodes": [{
                        "host": "127.0.0.1",
                        "port": 6379,
                    }],
                    "sentinel_password": "...my_sentinel_password...",
                    "sentinel_role": "slave",
                    "sentinel_username": "...my_sentinel_username...",
                    "server_name": "...my_server_name...",
                    "socket": "...my_socket...",
                    "ssl": False,
                    "ssl_verify": True,
                    "username": "...my_username...",
                },
                "rediscovery_lifetime": 30,
                "refresh_token_param_name": "...my_refresh_token_param_name...",
                "refresh_token_param_types": ["header"],
                "refresh_tokens": True,
                "require_proof_key_for_code_exchange": True,
                "require_pushed_authorization_requests": True,
                "require_signed_request_object": False,
                "resolve_distributed_claims": False,
                "response_mode": "query",
                "response_types": ["..."],
                "reverify": False,
                "revocation_endpoint": "...my_revocation_endpoint...",
                "revocation_endpoint_auth_method": "tls_client_auth",
                "revocation_token_param_name": "token",
                "roles_claims": ["..."],
                "roles_requireds": ["..."],
                "run_on_preflight": True,
                "scopes": ["..."],
                "scopes_claims": ["..."],
                "scopes_requireds": ["..."],
                "search_user_info": False,
                "session_absolute_timeout": 86400,
                "session_audience": "default",
                "session_binds": ["ip"],
                "session_cookie_domain": "...my_session_cookie_domain...",
                "session_cookie_http_only": True,
                "session_cookie_name": "session",
                "session_cookie_path": "/",
                "session_cookie_same_site": "Lax",
                "session_cookie_secure": True,
                "session_enforce_same_subject": False,
                "session_hash_storage_key": False,
                "session_hash_subject": False,
                "session_idling_timeout": 900,
                "session_memcached_host": "127.0.0.1",
                "session_memcached_port": 11211,
                "session_memcached_prefix": "...my_session_memcached_prefix...",
                "session_memcached_socket": "...my_session_memcached_socket...",
                "session_memcached_ssl": True,
                "session_memcached_ssl_verify": True,
                "session_remember": False,
                "session_remember_absolute_timeout": 2592000,
                "session_remember_cookie_name": "remember",
                "session_remember_rolling_timeout": 604800,
                "session_request_headers": ["subject"],
                "session_response_headers": ["absolute-timeout"],
                "session_rolling_timeout": 3600,
                "session_secret": "...my_session_secret...",
                "session_storage": "cookie",
                "session_store_metadata": False,
                "ssl_verify": True,
                "timeout": 10000,
                "tls_client_auth_cert_id": "...my_tls_client_auth_cert_id...",
                "tls_client_auth_ssl_verify": True,
                "token_cache_key_include_scope": False,
                "token_endpoint": "...my_token_endpoint...",
                "token_endpoint_auth_method": "client_secret_basic",
                "token_exchange": {
                    "cache": {
                        "enabled": True,
                        "ttl": 7,
                    },
                    "request": {
                        "audiences": ["..."],
                        "empty_audience": False,
                        "empty_scopes": False,
                        "scopes": ["..."],
                    },
                    "subject_token_issuers": [{
                        "conditions": {
                            "has_audiences": ["..."],
                            "has_scopes": ["..."],
                            "missing_audiences": ["..."],
                            "missing_scopes": ["..."],
                        },
                        "issuer": "...my_issuer...",
                    }],
                },
                "token_exchange_endpoint": "...my_token_exchange_endpoint...",
                "token_headers_clients": ["..."],
                "token_headers_grants": ["refresh_token"],
                "token_headers_names": ["..."],
                "token_headers_prefix": "...my_token_headers_prefix...",
                "token_headers_replays": ["..."],
                "token_headers_values": ["..."],
                "token_post_args_clients": ["..."],
                "token_post_args_names": ["..."],
                "token_post_args_values": ["..."],
                "unauthorized_destroy_session": True,
                "unauthorized_error_message": "Unauthorized",
                "unauthorized_redirect_uris": ["..."],
                "unexpected_redirect_uris": ["..."],
                "upstream_access_token_header": "authorization:bearer",
                "upstream_access_token_jwk_header": "...my_upstream_access_token_jwk_header...",
                "upstream_headers": [{
                    "header": "...my_header...",
                    "paths": ["..."],
                }],
                "upstream_headers_claims": ["..."],
                "upstream_headers_names": ["..."],
                "upstream_id_token_header": "...my_upstream_id_token_header...",
                "upstream_id_token_jwk_header": "...my_upstream_id_token_jwk_header...",
                "upstream_introspection_header": "...my_upstream_introspection_header...",
                "upstream_introspection_jwt_header": "...my_upstream_introspection_jwt_header...",
                "upstream_refresh_token_header": "...my_upstream_refresh_token_header...",
                "upstream_session_id_header": "...my_upstream_session_id_header...",
                "upstream_user_info_header": "...my_upstream_user_info_header...",
                "upstream_user_info_jwt_header": "...my_upstream_user_info_jwt_header...",
                "userinfo_accept": "application/json",
                "userinfo_endpoint": "...my_userinfo_endpoint...",
                "userinfo_headers_clients": ["..."],
                "userinfo_headers_names": ["..."],
                "userinfo_headers_values": ["..."],
                "userinfo_query_args_clients": ["..."],
                "userinfo_query_args_names": ["..."],
                "userinfo_query_args_values": ["..."],
                "using_pseudo_issuer": False,
                "verify_claims": True,
                "verify_nonce": True,
                "verify_parameters": False,
                "verify_signature": True,
            },
            "display_name": "Okta AI SE",
            "labels": {
                "key": "value",
            },
            "managed_by": {
                "key": "value",
            },
            "name": "okta-ai-se",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/konnect/v3/konnect"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := konnect.NewAiGatewayAuthStrategy(ctx, "my_aigatewayauthstrategy", &konnect.AiGatewayAuthStrategyArgs{
    			GatewayId: pulumi.String("5f9fd312-a987-4628-b4c5-bb4f4fddd5f7"),
    			KeyAuth: &konnect.AiGatewayAuthStrategyKeyAuthArgs{
    				Config: &konnect.AiGatewayAuthStrategyKeyAuthConfigArgs{
    					Anonymous:       pulumi.String("...my_anonymous..."),
    					HideCredentials: pulumi.Bool(true),
    					IdentityRealms: konnect.AiGatewayAuthStrategyKeyAuthConfigIdentityRealmArray{
    						&konnect.AiGatewayAuthStrategyKeyAuthConfigIdentityRealmArgs{
    							Id:     pulumi.String("...my_id..."),
    							Region: pulumi.String("...my_region..."),
    							Scope:  pulumi.String("cp"),
    						},
    					},
    					KeyInBody:   pulumi.Bool(false),
    					KeyInHeader: pulumi.Bool(true),
    					KeyInQuery:  pulumi.Bool(true),
    					KeyNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					Principals: &konnect.AiGatewayAuthStrategyKeyAuthConfigPrincipalsArgs{
    						Directory:   pulumi.String("default"),
    						Enabled:     pulumi.Bool(false),
    						ErrorOnMiss: pulumi.Bool(true),
    					},
    					Realm:          pulumi.String("...my_realm..."),
    					RunOnPreflight: pulumi.Bool(true),
    				},
    				DisplayName: pulumi.String("Okta AI SE"),
    				Labels: pulumi.StringMap{
    					"key": pulumi.String("value"),
    				},
    				ManagedBy: pulumi.StringMap{
    					"key": pulumi.String("value"),
    				},
    				Name: pulumi.String("okta-ai-se"),
    			},
    			OpenidConnect: &konnect.AiGatewayAuthStrategyOpenidConnectArgs{
    				Config: &konnect.AiGatewayAuthStrategyOpenidConnectConfigArgs{
    					Anonymous: pulumi.String("...my_anonymous..."),
    					Audiences: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					AudienceClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					AudienceRequireds: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					AuthMethods: pulumi.StringArray{
    						pulumi.String("userinfo"),
    					},
    					AuthenticatedGroupsClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					AuthorizationCookieDomain:   pulumi.String("...my_authorization_cookie_domain..."),
    					AuthorizationCookieHttpOnly: pulumi.Bool(true),
    					AuthorizationCookieName:     pulumi.String("authorization"),
    					AuthorizationCookiePath:     pulumi.String("/"),
    					AuthorizationCookieSameSite: pulumi.String("Default"),
    					AuthorizationCookieSecure:   pulumi.Bool(false),
    					AuthorizationEndpoint:       pulumi.String("...my_authorization_endpoint..."),
    					AuthorizationQueryArgsClients: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					AuthorizationQueryArgsNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					AuthorizationQueryArgsValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					AuthorizationRollingTimeout: pulumi.Float64(600),
    					BearerTokenCookieName:       pulumi.String("...my_bearer_token_cookie_name..."),
    					BearerTokenParamTypes: pulumi.StringArray{
    						pulumi.String("cookie"),
    					},
    					ByUsernameIgnoreCase: pulumi.Bool(false),
    					CacheIntrospection:   pulumi.Bool(true),
    					CacheTokenExchange:   pulumi.Bool(true),
    					CacheTokens:          pulumi.Bool(true),
    					CacheTokensSalt:      pulumi.String("...my_cache_tokens_salt..."),
    					CacheTtl:             pulumi.Float64(3600),
    					CacheTtlMax:          pulumi.Float64(6.13),
    					CacheTtlMin:          pulumi.Float64(8.74),
    					CacheTtlNeg:          pulumi.Float64(5.39),
    					CacheTtlResurrect:    pulumi.Float64(8.05),
    					CacheUserInfo:        pulumi.Bool(true),
    					ClaimsForbiddens: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					ClientAlgs: pulumi.StringArray{
    						pulumi.String("RS512"),
    					},
    					ClientArg: pulumi.String("client_id"),
    					ClientAuths: pulumi.StringArray{
    						pulumi.String("client_secret_basic"),
    					},
    					ClientCredentialsParamTypes: pulumi.StringArray{
    						pulumi.String("body"),
    					},
    					ClientIds: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					ClientJwks: konnect.AiGatewayAuthStrategyOpenidConnectConfigClientJwkArray{
    						&konnect.AiGatewayAuthStrategyOpenidConnectConfigClientJwkArgs{
    							Alg:    pulumi.String("...my_alg..."),
    							Crv:    pulumi.String("...my_crv..."),
    							D:      pulumi.String("...my_d..."),
    							Dp:     pulumi.String("...my_dp..."),
    							Dq:     pulumi.String("...my_dq..."),
    							E:      pulumi.String("...my_e..."),
    							Issuer: pulumi.String("...my_issuer..."),
    							K:      pulumi.String("...my_k..."),
    							KeyOps: pulumi.StringArray{
    								pulumi.String("..."),
    							},
    							Kid: pulumi.String("...my_kid..."),
    							Kty: pulumi.String("...my_kty..."),
    							N:   pulumi.String("...my_n..."),
    							Oth: pulumi.String("...my_oth..."),
    							P:   pulumi.String("...my_p..."),
    							Q:   pulumi.String("...my_q..."),
    							Qi:  pulumi.String("...my_qi..."),
    							R:   pulumi.String("...my_r..."),
    							T:   pulumi.String("...my_t..."),
    							Use: pulumi.String("...my_use..."),
    							X:   pulumi.String("...my_x..."),
    							X5cs: pulumi.StringArray{
    								pulumi.String("..."),
    							},
    							X5t:           pulumi.String("...my_x5t..."),
    							X5tNumberS256: pulumi.String("...my_x5t_number_s256..."),
    							X5u:           pulumi.String("...my_x5u..."),
    							Y:             pulumi.String("...my_y..."),
    						},
    					},
    					ClientSecrets: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					ClusterCacheRedis: &konnect.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisArgs{
    						CloudAuthentication: &konnect.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthenticationArgs{
    							AuthProvider:          pulumi.String("gcp"),
    							AwsAccessKeyId:        pulumi.String("...my_aws_access_key_id..."),
    							AwsAssumeRoleArn:      pulumi.String("...my_aws_assume_role_arn..."),
    							AwsCacheName:          pulumi.String("...my_aws_cache_name..."),
    							AwsIsServerless:       pulumi.Bool(true),
    							AwsRegion:             pulumi.String("...my_aws_region..."),
    							AwsRoleSessionName:    pulumi.String("...my_aws_role_session_name..."),
    							AwsSecretAccessKey:    pulumi.String("...my_aws_secret_access_key..."),
    							AzureClientId:         pulumi.String("...my_azure_client_id..."),
    							AzureClientSecret:     pulumi.String("...my_azure_client_secret..."),
    							AzureTenantId:         pulumi.String("...my_azure_tenant_id..."),
    							GcpServiceAccountJson: pulumi.String("...my_gcp_service_account_json..."),
    						},
    						ClusterMaxRedirections: pulumi.Float64(5),
    						ClusterNodes: konnect.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNodeArray{
    							&konnect.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNodeArgs{
    								Ip:   pulumi.String("127.0.0.1"),
    								Port: pulumi.Float64(6379),
    							},
    						},
    						ConnectTimeout:      pulumi.Float64(2000),
    						ConnectionIsProxied: pulumi.Bool(false),
    						Database:            pulumi.Float64(0),
    						Host:                pulumi.String("127.0.0.1"),
    						KeepaliveBacklog:    pulumi.Float64(1429494394),
    						KeepalivePoolSize:   pulumi.Float64(256),
    						Password:            pulumi.String("...my_password..."),
    						Port:                pulumi.String("6379"),
    						ReadTimeout:         pulumi.Float64(2000),
    						SendTimeout:         pulumi.Float64(2000),
    						SentinelMaster:      pulumi.String("...my_sentinel_master..."),
    						SentinelNodes: konnect.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNodeArray{
    							&konnect.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNodeArgs{
    								Host: pulumi.String("127.0.0.1"),
    								Port: pulumi.Float64(6379),
    							},
    						},
    						SentinelPassword: pulumi.String("...my_sentinel_password..."),
    						SentinelRole:     pulumi.String("any"),
    						SentinelUsername: pulumi.String("...my_sentinel_username..."),
    						ServerName:       pulumi.String("...my_server_name..."),
    						Ssl:              pulumi.Bool(false),
    						SslVerify:        pulumi.Bool(true),
    						Username:         pulumi.String("...my_username..."),
    					},
    					ClusterCacheStrategy: pulumi.String("off"),
    					ConsumerBies: pulumi.StringArray{
    						pulumi.String("id"),
    					},
    					ConsumerClaims: pulumi.StringArrayArray{
    						pulumi.StringArray{},
    					},
    					ConsumerGroupsClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					ConsumerGroupsOptional: pulumi.Bool(false),
    					ConsumerOptional:       pulumi.Bool(false),
    					CredentialClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					DisableSessions: pulumi.StringArray{
    						pulumi.String("bearer"),
    					},
    					DiscoveryHeadersNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					DiscoveryHeadersValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					DisplayErrors: pulumi.Bool(false),
    					Domains: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					DownstreamAccessTokenHeader:    pulumi.String("...my_downstream_access_token_header..."),
    					DownstreamAccessTokenJwkHeader: pulumi.String("...my_downstream_access_token_jwk_header..."),
    					DownstreamHeaders: konnect.AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeaderArray{
    						&konnect.AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeaderArgs{
    							Header: pulumi.String("...my_header..."),
    							Paths: pulumi.StringArray{
    								pulumi.String("..."),
    							},
    						},
    					},
    					DownstreamHeadersClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					DownstreamHeadersNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					DownstreamIdTokenHeader:          pulumi.String("...my_downstream_id_token_header..."),
    					DownstreamIdTokenJwkHeader:       pulumi.String("...my_downstream_id_token_jwk_header..."),
    					DownstreamIntrospectionHeader:    pulumi.String("...my_downstream_introspection_header..."),
    					DownstreamIntrospectionJwtHeader: pulumi.String("...my_downstream_introspection_jwt_header..."),
    					DownstreamRefreshTokenHeader:     pulumi.String("...my_downstream_refresh_token_header..."),
    					DownstreamSessionIdHeader:        pulumi.String("...my_downstream_session_id_header..."),
    					DownstreamUserInfoHeader:         pulumi.String("...my_downstream_user_info_header..."),
    					DownstreamUserInfoJwtHeader:      pulumi.String("...my_downstream_user_info_jwt_header..."),
    					DpopProofLifetime:                pulumi.Float64(300),
    					DpopUseNonce:                     pulumi.Bool(false),
    					EnableHsSignatures:               pulumi.Bool(false),
    					EndSessionEndpoint:               pulumi.String("...my_end_session_endpoint..."),
    					ExposeErrorCode:                  pulumi.Bool(true),
    					ExtraJwksUris: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					ForbiddenDestroySession: pulumi.Bool(true),
    					ForbiddenErrorMessage:   pulumi.String("Forbidden"),
    					ForbiddenRedirectUris: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					GroupsClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					GroupsRequireds: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					HideCredentials:         pulumi.Bool(true),
    					HttpProxy:               pulumi.String("...my_http_proxy..."),
    					HttpProxyAuthorization:  pulumi.String("...my_http_proxy_authorization..."),
    					HttpVersion:             pulumi.Float64(9.47),
    					HttpsProxy:              pulumi.String("...my_https_proxy..."),
    					HttpsProxyAuthorization: pulumi.String("...my_https_proxy_authorization..."),
    					IdTokenParamName:        pulumi.String("...my_id_token_param_name..."),
    					IdTokenParamTypes: pulumi.StringArray{
    						pulumi.String("body"),
    					},
    					IgnoreSignatures: pulumi.StringArray{
    						pulumi.String("session"),
    					},
    					IntrospectJwtTokens:             pulumi.Bool(false),
    					IntrospectionAccept:             pulumi.String("application/json"),
    					IntrospectionCheckActive:        pulumi.Bool(true),
    					IntrospectionEndpoint:           pulumi.String("...my_introspection_endpoint..."),
    					IntrospectionEndpointAuthMethod: pulumi.String("client_secret_jwt"),
    					IntrospectionHeadersClients: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					IntrospectionHeadersNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					IntrospectionHeadersValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					IntrospectionHint: pulumi.String("access_token"),
    					IntrospectionPostArgsClients: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					IntrospectionPostArgsClientHeaders: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					IntrospectionPostArgsNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					IntrospectionPostArgsValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					IntrospectionTokenParamName: pulumi.String("token"),
    					Issuer:                      pulumi.String("...my_issuer..."),
    					IssuersAlloweds: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					JwksEndpoint:     pulumi.String("...my_jwks_endpoint..."),
    					JwtSessionClaim:  pulumi.String("sid"),
    					JwtSessionCookie: pulumi.String("...my_jwt_session_cookie..."),
    					Keepalive:        pulumi.Bool(true),
    					Leeway:           pulumi.Float64(0),
    					LoginAction:      pulumi.String("upstream"),
    					LoginMethods: pulumi.StringArray{
    						pulumi.String("client_credentials"),
    					},
    					LoginRedirectMode: pulumi.String("fragment"),
    					LoginRedirectUris: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					LoginTokens: pulumi.StringArray{
    						pulumi.String("tokens"),
    					},
    					LogoutMethods: pulumi.StringArray{
    						pulumi.String("GET"),
    					},
    					LogoutPostArg:  pulumi.String("...my_logout_post_arg..."),
    					LogoutQueryArg: pulumi.String("...my_logout_query_arg..."),
    					LogoutRedirectUris: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					LogoutRevoke:              pulumi.Bool(false),
    					LogoutRevokeAccessToken:   pulumi.Bool(true),
    					LogoutRevokeRefreshToken:  pulumi.Bool(true),
    					LogoutUriSuffix:           pulumi.String("...my_logout_uri_suffix..."),
    					MaxAge:                    pulumi.Float64(8.25),
    					MtlsIntrospectionEndpoint: pulumi.String("...my_mtls_introspection_endpoint..."),
    					MtlsRevocationEndpoint:    pulumi.String("...my_mtls_revocation_endpoint..."),
    					MtlsTokenEndpoint:         pulumi.String("...my_mtls_token_endpoint..."),
    					NoProxy:                   pulumi.String("...my_no_proxy..."),
    					PasswordParamTypes: pulumi.StringArray{
    						pulumi.String("query"),
    					},
    					PreserveQueryArgs: pulumi.Bool(false),
    					Principals: &konnect.AiGatewayAuthStrategyOpenidConnectConfigPrincipalsArgs{
    						Directory:           pulumi.String("default"),
    						Enabled:             pulumi.Bool(false),
    						ErrorOnMiss:         pulumi.Bool(true),
    						MatchConsumer:       pulumi.Bool(true),
    						MatchConsumerGroups: pulumi.Bool(true),
    						PrincipalBy:         pulumi.String("...my_principal_by..."),
    						PrincipalClaims: pulumi.StringArray{
    							pulumi.String("..."),
    						},
    					},
    					ProofOfPossessionAuthMethodsValidation:       pulumi.Bool(true),
    					ProofOfPossessionDpop:                        pulumi.String("off"),
    					ProofOfPossessionMtls:                        pulumi.String("off"),
    					PushedAuthorizationRequestEndpoint:           pulumi.String("...my_pushed_authorization_request_endpoint..."),
    					PushedAuthorizationRequestEndpointAuthMethod: pulumi.String("self_signed_tls_client_auth"),
    					RedirectUris: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					Redis: &konnect.AiGatewayAuthStrategyOpenidConnectConfigRedisArgs{
    						CloudAuthentication: &konnect.AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthenticationArgs{
    							AuthProvider:          pulumi.String("azure"),
    							AwsAccessKeyId:        pulumi.String("...my_aws_access_key_id..."),
    							AwsAssumeRoleArn:      pulumi.String("...my_aws_assume_role_arn..."),
    							AwsCacheName:          pulumi.String("...my_aws_cache_name..."),
    							AwsIsServerless:       pulumi.Bool(true),
    							AwsRegion:             pulumi.String("...my_aws_region..."),
    							AwsRoleSessionName:    pulumi.String("...my_aws_role_session_name..."),
    							AwsSecretAccessKey:    pulumi.String("...my_aws_secret_access_key..."),
    							AzureClientId:         pulumi.String("...my_azure_client_id..."),
    							AzureClientSecret:     pulumi.String("...my_azure_client_secret..."),
    							AzureTenantId:         pulumi.String("...my_azure_tenant_id..."),
    							GcpServiceAccountJson: pulumi.String("...my_gcp_service_account_json..."),
    						},
    						ClusterMaxRedirections: pulumi.Float64(5),
    						ClusterNodes: konnect.AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNodeArray{
    							&konnect.AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNodeArgs{
    								Ip:   pulumi.String("127.0.0.1"),
    								Port: pulumi.Float64(6379),
    							},
    						},
    						ConnectTimeout:      pulumi.Float64(2000),
    						ConnectionIsProxied: pulumi.Bool(false),
    						Database:            pulumi.Float64(0),
    						Host:                pulumi.String("127.0.0.1"),
    						KeepaliveBacklog:    pulumi.Float64(73538938),
    						KeepalivePoolSize:   pulumi.Float64(256),
    						Password:            pulumi.String("...my_password..."),
    						Port:                pulumi.String("6379"),
    						Prefix:              pulumi.String("...my_prefix..."),
    						ReadTimeout:         pulumi.Float64(2000),
    						SendTimeout:         pulumi.Float64(2000),
    						SentinelMaster:      pulumi.String("...my_sentinel_master..."),
    						SentinelNodes: konnect.AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNodeArray{
    							&konnect.AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNodeArgs{
    								Host: pulumi.String("127.0.0.1"),
    								Port: pulumi.Float64(6379),
    							},
    						},
    						SentinelPassword: pulumi.String("...my_sentinel_password..."),
    						SentinelRole:     pulumi.String("slave"),
    						SentinelUsername: pulumi.String("...my_sentinel_username..."),
    						ServerName:       pulumi.String("...my_server_name..."),
    						Socket:           pulumi.String("...my_socket..."),
    						Ssl:              pulumi.Bool(false),
    						SslVerify:        pulumi.Bool(true),
    						Username:         pulumi.String("...my_username..."),
    					},
    					RediscoveryLifetime:   pulumi.Float64(30),
    					RefreshTokenParamName: pulumi.String("...my_refresh_token_param_name..."),
    					RefreshTokenParamTypes: pulumi.StringArray{
    						pulumi.String("header"),
    					},
    					RefreshTokens:                      pulumi.Bool(true),
    					RequireProofKeyForCodeExchange:     pulumi.Bool(true),
    					RequirePushedAuthorizationRequests: pulumi.Bool(true),
    					RequireSignedRequestObject:         pulumi.Bool(false),
    					ResolveDistributedClaims:           pulumi.Bool(false),
    					ResponseMode:                       pulumi.String("query"),
    					ResponseTypes: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					Reverify:                     pulumi.Bool(false),
    					RevocationEndpoint:           pulumi.String("...my_revocation_endpoint..."),
    					RevocationEndpointAuthMethod: pulumi.String("tls_client_auth"),
    					RevocationTokenParamName:     pulumi.String("token"),
    					RolesClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					RolesRequireds: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					RunOnPreflight: pulumi.Bool(true),
    					Scopes: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					ScopesClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					ScopesRequireds: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					SearchUserInfo:         pulumi.Bool(false),
    					SessionAbsoluteTimeout: pulumi.Float64(86400),
    					SessionAudience:        pulumi.String("default"),
    					SessionBinds: pulumi.StringArray{
    						pulumi.String("ip"),
    					},
    					SessionCookieDomain:            pulumi.String("...my_session_cookie_domain..."),
    					SessionCookieHttpOnly:          pulumi.Bool(true),
    					SessionCookieName:              pulumi.String("session"),
    					SessionCookiePath:              pulumi.String("/"),
    					SessionCookieSameSite:          pulumi.String("Lax"),
    					SessionCookieSecure:            pulumi.Bool(true),
    					SessionEnforceSameSubject:      pulumi.Bool(false),
    					SessionHashStorageKey:          pulumi.Bool(false),
    					SessionHashSubject:             pulumi.Bool(false),
    					SessionIdlingTimeout:           pulumi.Float64(900),
    					SessionMemcachedHost:           pulumi.String("127.0.0.1"),
    					SessionMemcachedPort:           pulumi.Float64(11211),
    					SessionMemcachedPrefix:         pulumi.String("...my_session_memcached_prefix..."),
    					SessionMemcachedSocket:         pulumi.String("...my_session_memcached_socket..."),
    					SessionMemcachedSsl:            pulumi.Bool(true),
    					SessionMemcachedSslVerify:      pulumi.Bool(true),
    					SessionRemember:                pulumi.Bool(false),
    					SessionRememberAbsoluteTimeout: pulumi.Float64(2592000),
    					SessionRememberCookieName:      pulumi.String("remember"),
    					SessionRememberRollingTimeout:  pulumi.Float64(604800),
    					SessionRequestHeaders: pulumi.StringArray{
    						pulumi.String("subject"),
    					},
    					SessionResponseHeaders: pulumi.StringArray{
    						pulumi.String("absolute-timeout"),
    					},
    					SessionRollingTimeout:     pulumi.Float64(3600),
    					SessionSecret:             pulumi.String("...my_session_secret..."),
    					SessionStorage:            pulumi.String("cookie"),
    					SessionStoreMetadata:      pulumi.Bool(false),
    					SslVerify:                 pulumi.Bool(true),
    					Timeout:                   pulumi.Float64(10000),
    					TlsClientAuthCertId:       pulumi.String("...my_tls_client_auth_cert_id..."),
    					TlsClientAuthSslVerify:    pulumi.Bool(true),
    					TokenCacheKeyIncludeScope: pulumi.Bool(false),
    					TokenEndpoint:             pulumi.String("...my_token_endpoint..."),
    					TokenEndpointAuthMethod:   pulumi.String("client_secret_basic"),
    					TokenExchange: &konnect.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeArgs{
    						Cache: &konnect.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCacheArgs{
    							Enabled: pulumi.Bool(true),
    							Ttl:     pulumi.Float64(7),
    						},
    						Request: &konnect.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequestArgs{
    							Audiences: pulumi.StringArray{
    								pulumi.String("..."),
    							},
    							EmptyAudience: pulumi.Bool(false),
    							EmptyScopes:   pulumi.Bool(false),
    							Scopes: pulumi.StringArray{
    								pulumi.String("..."),
    							},
    						},
    						SubjectTokenIssuers: konnect.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerArray{
    							&konnect.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerArgs{
    								Conditions: &konnect.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditionsArgs{
    									HasAudiences: pulumi.StringArray{
    										pulumi.String("..."),
    									},
    									HasScopes: pulumi.StringArray{
    										pulumi.String("..."),
    									},
    									MissingAudiences: pulumi.StringArray{
    										pulumi.String("..."),
    									},
    									MissingScopes: pulumi.StringArray{
    										pulumi.String("..."),
    									},
    								},
    								Issuer: pulumi.String("...my_issuer..."),
    							},
    						},
    					},
    					TokenExchangeEndpoint: pulumi.String("...my_token_exchange_endpoint..."),
    					TokenHeadersClients: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					TokenHeadersGrants: pulumi.StringArray{
    						pulumi.String("refresh_token"),
    					},
    					TokenHeadersNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					TokenHeadersPrefix: pulumi.String("...my_token_headers_prefix..."),
    					TokenHeadersReplays: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					TokenHeadersValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					TokenPostArgsClients: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					TokenPostArgsNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					TokenPostArgsValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UnauthorizedDestroySession: pulumi.Bool(true),
    					UnauthorizedErrorMessage:   pulumi.String("Unauthorized"),
    					UnauthorizedRedirectUris: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UnexpectedRedirectUris: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UpstreamAccessTokenHeader:    pulumi.String("authorization:bearer"),
    					UpstreamAccessTokenJwkHeader: pulumi.String("...my_upstream_access_token_jwk_header..."),
    					UpstreamHeaders: konnect.AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeaderArray{
    						&konnect.AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeaderArgs{
    							Header: pulumi.String("...my_header..."),
    							Paths: pulumi.StringArray{
    								pulumi.String("..."),
    							},
    						},
    					},
    					UpstreamHeadersClaims: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UpstreamHeadersNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UpstreamIdTokenHeader:          pulumi.String("...my_upstream_id_token_header..."),
    					UpstreamIdTokenJwkHeader:       pulumi.String("...my_upstream_id_token_jwk_header..."),
    					UpstreamIntrospectionHeader:    pulumi.String("...my_upstream_introspection_header..."),
    					UpstreamIntrospectionJwtHeader: pulumi.String("...my_upstream_introspection_jwt_header..."),
    					UpstreamRefreshTokenHeader:     pulumi.String("...my_upstream_refresh_token_header..."),
    					UpstreamSessionIdHeader:        pulumi.String("...my_upstream_session_id_header..."),
    					UpstreamUserInfoHeader:         pulumi.String("...my_upstream_user_info_header..."),
    					UpstreamUserInfoJwtHeader:      pulumi.String("...my_upstream_user_info_jwt_header..."),
    					UserinfoAccept:                 pulumi.String("application/json"),
    					UserinfoEndpoint:               pulumi.String("...my_userinfo_endpoint..."),
    					UserinfoHeadersClients: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UserinfoHeadersNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UserinfoHeadersValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UserinfoQueryArgsClients: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UserinfoQueryArgsNames: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UserinfoQueryArgsValues: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    					UsingPseudoIssuer: pulumi.Bool(false),
    					VerifyClaims:      pulumi.Bool(true),
    					VerifyNonce:       pulumi.Bool(true),
    					VerifyParameters:  pulumi.Bool(false),
    					VerifySignature:   pulumi.Bool(true),
    				},
    				DisplayName: pulumi.String("Okta AI SE"),
    				Labels: pulumi.StringMap{
    					"key": pulumi.String("value"),
    				},
    				ManagedBy: pulumi.StringMap{
    					"key": pulumi.String("value"),
    				},
    				Name: pulumi.String("okta-ai-se"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Konnect = Pulumi.Konnect;
    
    return await Deployment.RunAsync(() => 
    {
        var myAigatewayauthstrategy = new Konnect.AiGatewayAuthStrategy("my_aigatewayauthstrategy", new()
        {
            GatewayId = "5f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
            KeyAuth = new Konnect.Inputs.AiGatewayAuthStrategyKeyAuthArgs
            {
                Config = new Konnect.Inputs.AiGatewayAuthStrategyKeyAuthConfigArgs
                {
                    Anonymous = "...my_anonymous...",
                    HideCredentials = true,
                    IdentityRealms = new[]
                    {
                        new Konnect.Inputs.AiGatewayAuthStrategyKeyAuthConfigIdentityRealmArgs
                        {
                            Id = "...my_id...",
                            Region = "...my_region...",
                            Scope = "cp",
                        },
                    },
                    KeyInBody = false,
                    KeyInHeader = true,
                    KeyInQuery = true,
                    KeyNames = new[]
                    {
                        "...",
                    },
                    Principals = new Konnect.Inputs.AiGatewayAuthStrategyKeyAuthConfigPrincipalsArgs
                    {
                        Directory = "default",
                        Enabled = false,
                        ErrorOnMiss = true,
                    },
                    Realm = "...my_realm...",
                    RunOnPreflight = true,
                },
                DisplayName = "Okta AI SE",
                Labels = 
                {
                    { "key", "value" },
                },
                ManagedBy = 
                {
                    { "key", "value" },
                },
                Name = "okta-ai-se",
            },
            OpenidConnect = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectArgs
            {
                Config = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigArgs
                {
                    Anonymous = "...my_anonymous...",
                    Audiences = new[]
                    {
                        "...",
                    },
                    AudienceClaims = new[]
                    {
                        "...",
                    },
                    AudienceRequireds = new[]
                    {
                        "...",
                    },
                    AuthMethods = new[]
                    {
                        "userinfo",
                    },
                    AuthenticatedGroupsClaims = new[]
                    {
                        "...",
                    },
                    AuthorizationCookieDomain = "...my_authorization_cookie_domain...",
                    AuthorizationCookieHttpOnly = true,
                    AuthorizationCookieName = "authorization",
                    AuthorizationCookiePath = "/",
                    AuthorizationCookieSameSite = "Default",
                    AuthorizationCookieSecure = false,
                    AuthorizationEndpoint = "...my_authorization_endpoint...",
                    AuthorizationQueryArgsClients = new[]
                    {
                        "...",
                    },
                    AuthorizationQueryArgsNames = new[]
                    {
                        "...",
                    },
                    AuthorizationQueryArgsValues = new[]
                    {
                        "...",
                    },
                    AuthorizationRollingTimeout = 600,
                    BearerTokenCookieName = "...my_bearer_token_cookie_name...",
                    BearerTokenParamTypes = new[]
                    {
                        "cookie",
                    },
                    ByUsernameIgnoreCase = false,
                    CacheIntrospection = true,
                    CacheTokenExchange = true,
                    CacheTokens = true,
                    CacheTokensSalt = "...my_cache_tokens_salt...",
                    CacheTtl = 3600,
                    CacheTtlMax = 6.13,
                    CacheTtlMin = 8.74,
                    CacheTtlNeg = 5.39,
                    CacheTtlResurrect = 8.05,
                    CacheUserInfo = true,
                    ClaimsForbiddens = new[]
                    {
                        "...",
                    },
                    ClientAlgs = new[]
                    {
                        "RS512",
                    },
                    ClientArg = "client_id",
                    ClientAuths = new[]
                    {
                        "client_secret_basic",
                    },
                    ClientCredentialsParamTypes = new[]
                    {
                        "body",
                    },
                    ClientIds = new[]
                    {
                        "...",
                    },
                    ClientJwks = new[]
                    {
                        new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigClientJwkArgs
                        {
                            Alg = "...my_alg...",
                            Crv = "...my_crv...",
                            D = "...my_d...",
                            Dp = "...my_dp...",
                            Dq = "...my_dq...",
                            E = "...my_e...",
                            Issuer = "...my_issuer...",
                            K = "...my_k...",
                            KeyOps = new[]
                            {
                                "...",
                            },
                            Kid = "...my_kid...",
                            Kty = "...my_kty...",
                            N = "...my_n...",
                            Oth = "...my_oth...",
                            P = "...my_p...",
                            Q = "...my_q...",
                            Qi = "...my_qi...",
                            R = "...my_r...",
                            T = "...my_t...",
                            Use = "...my_use...",
                            X = "...my_x...",
                            X5cs = new[]
                            {
                                "...",
                            },
                            X5t = "...my_x5t...",
                            X5tNumberS256 = "...my_x5t_number_s256...",
                            X5u = "...my_x5u...",
                            Y = "...my_y...",
                        },
                    },
                    ClientSecrets = new[]
                    {
                        "...",
                    },
                    ClusterCacheRedis = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisArgs
                    {
                        CloudAuthentication = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthenticationArgs
                        {
                            AuthProvider = "gcp",
                            AwsAccessKeyId = "...my_aws_access_key_id...",
                            AwsAssumeRoleArn = "...my_aws_assume_role_arn...",
                            AwsCacheName = "...my_aws_cache_name...",
                            AwsIsServerless = true,
                            AwsRegion = "...my_aws_region...",
                            AwsRoleSessionName = "...my_aws_role_session_name...",
                            AwsSecretAccessKey = "...my_aws_secret_access_key...",
                            AzureClientId = "...my_azure_client_id...",
                            AzureClientSecret = "...my_azure_client_secret...",
                            AzureTenantId = "...my_azure_tenant_id...",
                            GcpServiceAccountJson = "...my_gcp_service_account_json...",
                        },
                        ClusterMaxRedirections = 5,
                        ClusterNodes = new[]
                        {
                            new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNodeArgs
                            {
                                Ip = "127.0.0.1",
                                Port = 6379,
                            },
                        },
                        ConnectTimeout = 2000,
                        ConnectionIsProxied = false,
                        Database = 0,
                        Host = "127.0.0.1",
                        KeepaliveBacklog = 1429494394,
                        KeepalivePoolSize = 256,
                        Password = "...my_password...",
                        Port = "6379",
                        ReadTimeout = 2000,
                        SendTimeout = 2000,
                        SentinelMaster = "...my_sentinel_master...",
                        SentinelNodes = new[]
                        {
                            new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNodeArgs
                            {
                                Host = "127.0.0.1",
                                Port = 6379,
                            },
                        },
                        SentinelPassword = "...my_sentinel_password...",
                        SentinelRole = "any",
                        SentinelUsername = "...my_sentinel_username...",
                        ServerName = "...my_server_name...",
                        Ssl = false,
                        SslVerify = true,
                        Username = "...my_username...",
                    },
                    ClusterCacheStrategy = "off",
                    ConsumerBies = new[]
                    {
                        "id",
                    },
                    ConsumerClaims = new[]
                    {
                        new[] {},
                    },
                    ConsumerGroupsClaims = new[]
                    {
                        "...",
                    },
                    ConsumerGroupsOptional = false,
                    ConsumerOptional = false,
                    CredentialClaims = new[]
                    {
                        "...",
                    },
                    DisableSessions = new[]
                    {
                        "bearer",
                    },
                    DiscoveryHeadersNames = new[]
                    {
                        "...",
                    },
                    DiscoveryHeadersValues = new[]
                    {
                        "...",
                    },
                    DisplayErrors = false,
                    Domains = new[]
                    {
                        "...",
                    },
                    DownstreamAccessTokenHeader = "...my_downstream_access_token_header...",
                    DownstreamAccessTokenJwkHeader = "...my_downstream_access_token_jwk_header...",
                    DownstreamHeaders = new[]
                    {
                        new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeaderArgs
                        {
                            Header = "...my_header...",
                            Paths = new[]
                            {
                                "...",
                            },
                        },
                    },
                    DownstreamHeadersClaims = new[]
                    {
                        "...",
                    },
                    DownstreamHeadersNames = new[]
                    {
                        "...",
                    },
                    DownstreamIdTokenHeader = "...my_downstream_id_token_header...",
                    DownstreamIdTokenJwkHeader = "...my_downstream_id_token_jwk_header...",
                    DownstreamIntrospectionHeader = "...my_downstream_introspection_header...",
                    DownstreamIntrospectionJwtHeader = "...my_downstream_introspection_jwt_header...",
                    DownstreamRefreshTokenHeader = "...my_downstream_refresh_token_header...",
                    DownstreamSessionIdHeader = "...my_downstream_session_id_header...",
                    DownstreamUserInfoHeader = "...my_downstream_user_info_header...",
                    DownstreamUserInfoJwtHeader = "...my_downstream_user_info_jwt_header...",
                    DpopProofLifetime = 300,
                    DpopUseNonce = false,
                    EnableHsSignatures = false,
                    EndSessionEndpoint = "...my_end_session_endpoint...",
                    ExposeErrorCode = true,
                    ExtraJwksUris = new[]
                    {
                        "...",
                    },
                    ForbiddenDestroySession = true,
                    ForbiddenErrorMessage = "Forbidden",
                    ForbiddenRedirectUris = new[]
                    {
                        "...",
                    },
                    GroupsClaims = new[]
                    {
                        "...",
                    },
                    GroupsRequireds = new[]
                    {
                        "...",
                    },
                    HideCredentials = true,
                    HttpProxy = "...my_http_proxy...",
                    HttpProxyAuthorization = "...my_http_proxy_authorization...",
                    HttpVersion = 9.47,
                    HttpsProxy = "...my_https_proxy...",
                    HttpsProxyAuthorization = "...my_https_proxy_authorization...",
                    IdTokenParamName = "...my_id_token_param_name...",
                    IdTokenParamTypes = new[]
                    {
                        "body",
                    },
                    IgnoreSignatures = new[]
                    {
                        "session",
                    },
                    IntrospectJwtTokens = false,
                    IntrospectionAccept = "application/json",
                    IntrospectionCheckActive = true,
                    IntrospectionEndpoint = "...my_introspection_endpoint...",
                    IntrospectionEndpointAuthMethod = "client_secret_jwt",
                    IntrospectionHeadersClients = new[]
                    {
                        "...",
                    },
                    IntrospectionHeadersNames = new[]
                    {
                        "...",
                    },
                    IntrospectionHeadersValues = new[]
                    {
                        "...",
                    },
                    IntrospectionHint = "access_token",
                    IntrospectionPostArgsClients = new[]
                    {
                        "...",
                    },
                    IntrospectionPostArgsClientHeaders = new[]
                    {
                        "...",
                    },
                    IntrospectionPostArgsNames = new[]
                    {
                        "...",
                    },
                    IntrospectionPostArgsValues = new[]
                    {
                        "...",
                    },
                    IntrospectionTokenParamName = "token",
                    Issuer = "...my_issuer...",
                    IssuersAlloweds = new[]
                    {
                        "...",
                    },
                    JwksEndpoint = "...my_jwks_endpoint...",
                    JwtSessionClaim = "sid",
                    JwtSessionCookie = "...my_jwt_session_cookie...",
                    Keepalive = true,
                    Leeway = 0,
                    LoginAction = "upstream",
                    LoginMethods = new[]
                    {
                        "client_credentials",
                    },
                    LoginRedirectMode = "fragment",
                    LoginRedirectUris = new[]
                    {
                        "...",
                    },
                    LoginTokens = new[]
                    {
                        "tokens",
                    },
                    LogoutMethods = new[]
                    {
                        "GET",
                    },
                    LogoutPostArg = "...my_logout_post_arg...",
                    LogoutQueryArg = "...my_logout_query_arg...",
                    LogoutRedirectUris = new[]
                    {
                        "...",
                    },
                    LogoutRevoke = false,
                    LogoutRevokeAccessToken = true,
                    LogoutRevokeRefreshToken = true,
                    LogoutUriSuffix = "...my_logout_uri_suffix...",
                    MaxAge = 8.25,
                    MtlsIntrospectionEndpoint = "...my_mtls_introspection_endpoint...",
                    MtlsRevocationEndpoint = "...my_mtls_revocation_endpoint...",
                    MtlsTokenEndpoint = "...my_mtls_token_endpoint...",
                    NoProxy = "...my_no_proxy...",
                    PasswordParamTypes = new[]
                    {
                        "query",
                    },
                    PreserveQueryArgs = false,
                    Principals = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigPrincipalsArgs
                    {
                        Directory = "default",
                        Enabled = false,
                        ErrorOnMiss = true,
                        MatchConsumer = true,
                        MatchConsumerGroups = true,
                        PrincipalBy = "...my_principal_by...",
                        PrincipalClaims = new[]
                        {
                            "...",
                        },
                    },
                    ProofOfPossessionAuthMethodsValidation = true,
                    ProofOfPossessionDpop = "off",
                    ProofOfPossessionMtls = "off",
                    PushedAuthorizationRequestEndpoint = "...my_pushed_authorization_request_endpoint...",
                    PushedAuthorizationRequestEndpointAuthMethod = "self_signed_tls_client_auth",
                    RedirectUris = new[]
                    {
                        "...",
                    },
                    Redis = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigRedisArgs
                    {
                        CloudAuthentication = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthenticationArgs
                        {
                            AuthProvider = "azure",
                            AwsAccessKeyId = "...my_aws_access_key_id...",
                            AwsAssumeRoleArn = "...my_aws_assume_role_arn...",
                            AwsCacheName = "...my_aws_cache_name...",
                            AwsIsServerless = true,
                            AwsRegion = "...my_aws_region...",
                            AwsRoleSessionName = "...my_aws_role_session_name...",
                            AwsSecretAccessKey = "...my_aws_secret_access_key...",
                            AzureClientId = "...my_azure_client_id...",
                            AzureClientSecret = "...my_azure_client_secret...",
                            AzureTenantId = "...my_azure_tenant_id...",
                            GcpServiceAccountJson = "...my_gcp_service_account_json...",
                        },
                        ClusterMaxRedirections = 5,
                        ClusterNodes = new[]
                        {
                            new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNodeArgs
                            {
                                Ip = "127.0.0.1",
                                Port = 6379,
                            },
                        },
                        ConnectTimeout = 2000,
                        ConnectionIsProxied = false,
                        Database = 0,
                        Host = "127.0.0.1",
                        KeepaliveBacklog = 73538938,
                        KeepalivePoolSize = 256,
                        Password = "...my_password...",
                        Port = "6379",
                        Prefix = "...my_prefix...",
                        ReadTimeout = 2000,
                        SendTimeout = 2000,
                        SentinelMaster = "...my_sentinel_master...",
                        SentinelNodes = new[]
                        {
                            new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNodeArgs
                            {
                                Host = "127.0.0.1",
                                Port = 6379,
                            },
                        },
                        SentinelPassword = "...my_sentinel_password...",
                        SentinelRole = "slave",
                        SentinelUsername = "...my_sentinel_username...",
                        ServerName = "...my_server_name...",
                        Socket = "...my_socket...",
                        Ssl = false,
                        SslVerify = true,
                        Username = "...my_username...",
                    },
                    RediscoveryLifetime = 30,
                    RefreshTokenParamName = "...my_refresh_token_param_name...",
                    RefreshTokenParamTypes = new[]
                    {
                        "header",
                    },
                    RefreshTokens = true,
                    RequireProofKeyForCodeExchange = true,
                    RequirePushedAuthorizationRequests = true,
                    RequireSignedRequestObject = false,
                    ResolveDistributedClaims = false,
                    ResponseMode = "query",
                    ResponseTypes = new[]
                    {
                        "...",
                    },
                    Reverify = false,
                    RevocationEndpoint = "...my_revocation_endpoint...",
                    RevocationEndpointAuthMethod = "tls_client_auth",
                    RevocationTokenParamName = "token",
                    RolesClaims = new[]
                    {
                        "...",
                    },
                    RolesRequireds = new[]
                    {
                        "...",
                    },
                    RunOnPreflight = true,
                    Scopes = new[]
                    {
                        "...",
                    },
                    ScopesClaims = new[]
                    {
                        "...",
                    },
                    ScopesRequireds = new[]
                    {
                        "...",
                    },
                    SearchUserInfo = false,
                    SessionAbsoluteTimeout = 86400,
                    SessionAudience = "default",
                    SessionBinds = new[]
                    {
                        "ip",
                    },
                    SessionCookieDomain = "...my_session_cookie_domain...",
                    SessionCookieHttpOnly = true,
                    SessionCookieName = "session",
                    SessionCookiePath = "/",
                    SessionCookieSameSite = "Lax",
                    SessionCookieSecure = true,
                    SessionEnforceSameSubject = false,
                    SessionHashStorageKey = false,
                    SessionHashSubject = false,
                    SessionIdlingTimeout = 900,
                    SessionMemcachedHost = "127.0.0.1",
                    SessionMemcachedPort = 11211,
                    SessionMemcachedPrefix = "...my_session_memcached_prefix...",
                    SessionMemcachedSocket = "...my_session_memcached_socket...",
                    SessionMemcachedSsl = true,
                    SessionMemcachedSslVerify = true,
                    SessionRemember = false,
                    SessionRememberAbsoluteTimeout = 2592000,
                    SessionRememberCookieName = "remember",
                    SessionRememberRollingTimeout = 604800,
                    SessionRequestHeaders = new[]
                    {
                        "subject",
                    },
                    SessionResponseHeaders = new[]
                    {
                        "absolute-timeout",
                    },
                    SessionRollingTimeout = 3600,
                    SessionSecret = "...my_session_secret...",
                    SessionStorage = "cookie",
                    SessionStoreMetadata = false,
                    SslVerify = true,
                    Timeout = 10000,
                    TlsClientAuthCertId = "...my_tls_client_auth_cert_id...",
                    TlsClientAuthSslVerify = true,
                    TokenCacheKeyIncludeScope = false,
                    TokenEndpoint = "...my_token_endpoint...",
                    TokenEndpointAuthMethod = "client_secret_basic",
                    TokenExchange = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeArgs
                    {
                        Cache = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCacheArgs
                        {
                            Enabled = true,
                            Ttl = 7,
                        },
                        Request = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequestArgs
                        {
                            Audiences = new[]
                            {
                                "...",
                            },
                            EmptyAudience = false,
                            EmptyScopes = false,
                            Scopes = new[]
                            {
                                "...",
                            },
                        },
                        SubjectTokenIssuers = new[]
                        {
                            new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerArgs
                            {
                                Conditions = new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditionsArgs
                                {
                                    HasAudiences = new[]
                                    {
                                        "...",
                                    },
                                    HasScopes = new[]
                                    {
                                        "...",
                                    },
                                    MissingAudiences = new[]
                                    {
                                        "...",
                                    },
                                    MissingScopes = new[]
                                    {
                                        "...",
                                    },
                                },
                                Issuer = "...my_issuer...",
                            },
                        },
                    },
                    TokenExchangeEndpoint = "...my_token_exchange_endpoint...",
                    TokenHeadersClients = new[]
                    {
                        "...",
                    },
                    TokenHeadersGrants = new[]
                    {
                        "refresh_token",
                    },
                    TokenHeadersNames = new[]
                    {
                        "...",
                    },
                    TokenHeadersPrefix = "...my_token_headers_prefix...",
                    TokenHeadersReplays = new[]
                    {
                        "...",
                    },
                    TokenHeadersValues = new[]
                    {
                        "...",
                    },
                    TokenPostArgsClients = new[]
                    {
                        "...",
                    },
                    TokenPostArgsNames = new[]
                    {
                        "...",
                    },
                    TokenPostArgsValues = new[]
                    {
                        "...",
                    },
                    UnauthorizedDestroySession = true,
                    UnauthorizedErrorMessage = "Unauthorized",
                    UnauthorizedRedirectUris = new[]
                    {
                        "...",
                    },
                    UnexpectedRedirectUris = new[]
                    {
                        "...",
                    },
                    UpstreamAccessTokenHeader = "authorization:bearer",
                    UpstreamAccessTokenJwkHeader = "...my_upstream_access_token_jwk_header...",
                    UpstreamHeaders = new[]
                    {
                        new Konnect.Inputs.AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeaderArgs
                        {
                            Header = "...my_header...",
                            Paths = new[]
                            {
                                "...",
                            },
                        },
                    },
                    UpstreamHeadersClaims = new[]
                    {
                        "...",
                    },
                    UpstreamHeadersNames = new[]
                    {
                        "...",
                    },
                    UpstreamIdTokenHeader = "...my_upstream_id_token_header...",
                    UpstreamIdTokenJwkHeader = "...my_upstream_id_token_jwk_header...",
                    UpstreamIntrospectionHeader = "...my_upstream_introspection_header...",
                    UpstreamIntrospectionJwtHeader = "...my_upstream_introspection_jwt_header...",
                    UpstreamRefreshTokenHeader = "...my_upstream_refresh_token_header...",
                    UpstreamSessionIdHeader = "...my_upstream_session_id_header...",
                    UpstreamUserInfoHeader = "...my_upstream_user_info_header...",
                    UpstreamUserInfoJwtHeader = "...my_upstream_user_info_jwt_header...",
                    UserinfoAccept = "application/json",
                    UserinfoEndpoint = "...my_userinfo_endpoint...",
                    UserinfoHeadersClients = new[]
                    {
                        "...",
                    },
                    UserinfoHeadersNames = new[]
                    {
                        "...",
                    },
                    UserinfoHeadersValues = new[]
                    {
                        "...",
                    },
                    UserinfoQueryArgsClients = new[]
                    {
                        "...",
                    },
                    UserinfoQueryArgsNames = new[]
                    {
                        "...",
                    },
                    UserinfoQueryArgsValues = new[]
                    {
                        "...",
                    },
                    UsingPseudoIssuer = false,
                    VerifyClaims = true,
                    VerifyNonce = true,
                    VerifyParameters = false,
                    VerifySignature = true,
                },
                DisplayName = "Okta AI SE",
                Labels = 
                {
                    { "key", "value" },
                },
                ManagedBy = 
                {
                    { "key", "value" },
                },
                Name = "okta-ai-se",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.konnect.AiGatewayAuthStrategy;
    import com.pulumi.konnect.AiGatewayAuthStrategyArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyKeyAuthArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyKeyAuthConfigArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyKeyAuthConfigPrincipalsArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthenticationArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigPrincipalsArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigRedisArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthenticationArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCacheArgs;
    import com.pulumi.konnect.inputs.AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequestArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var myAigatewayauthstrategy = new AiGatewayAuthStrategy("myAigatewayauthstrategy", AiGatewayAuthStrategyArgs.builder()
                .gatewayId("5f9fd312-a987-4628-b4c5-bb4f4fddd5f7")
                .keyAuth(AiGatewayAuthStrategyKeyAuthArgs.builder()
                    .config(AiGatewayAuthStrategyKeyAuthConfigArgs.builder()
                        .anonymous("...my_anonymous...")
                        .hideCredentials(true)
                        .identityRealms(AiGatewayAuthStrategyKeyAuthConfigIdentityRealmArgs.builder()
                            .id("...my_id...")
                            .region("...my_region...")
                            .scope("cp")
                            .build())
                        .keyInBody(false)
                        .keyInHeader(true)
                        .keyInQuery(true)
                        .keyNames("...")
                        .principals(AiGatewayAuthStrategyKeyAuthConfigPrincipalsArgs.builder()
                            .directory("default")
                            .enabled(false)
                            .errorOnMiss(true)
                            .build())
                        .realm("...my_realm...")
                        .runOnPreflight(true)
                        .build())
                    .displayName("Okta AI SE")
                    .labels(Map.of("key", "value"))
                    .managedBy(Map.of("key", "value"))
                    .name("okta-ai-se")
                    .build())
                .openidConnect(AiGatewayAuthStrategyOpenidConnectArgs.builder()
                    .config(AiGatewayAuthStrategyOpenidConnectConfigArgs.builder()
                        .anonymous("...my_anonymous...")
                        .audiences("...")
                        .audienceClaims("...")
                        .audienceRequireds("...")
                        .authMethods("userinfo")
                        .authenticatedGroupsClaims("...")
                        .authorizationCookieDomain("...my_authorization_cookie_domain...")
                        .authorizationCookieHttpOnly(true)
                        .authorizationCookieName("authorization")
                        .authorizationCookiePath("/")
                        .authorizationCookieSameSite("Default")
                        .authorizationCookieSecure(false)
                        .authorizationEndpoint("...my_authorization_endpoint...")
                        .authorizationQueryArgsClients("...")
                        .authorizationQueryArgsNames("...")
                        .authorizationQueryArgsValues("...")
                        .authorizationRollingTimeout(600.0)
                        .bearerTokenCookieName("...my_bearer_token_cookie_name...")
                        .bearerTokenParamTypes("cookie")
                        .byUsernameIgnoreCase(false)
                        .cacheIntrospection(true)
                        .cacheTokenExchange(true)
                        .cacheTokens(true)
                        .cacheTokensSalt("...my_cache_tokens_salt...")
                        .cacheTtl(3600.0)
                        .cacheTtlMax(6.13)
                        .cacheTtlMin(8.74)
                        .cacheTtlNeg(5.39)
                        .cacheTtlResurrect(8.05)
                        .cacheUserInfo(true)
                        .claimsForbiddens("...")
                        .clientAlgs("RS512")
                        .clientArg("client_id")
                        .clientAuths("client_secret_basic")
                        .clientCredentialsParamTypes("body")
                        .clientIds("...")
                        .clientJwks(AiGatewayAuthStrategyOpenidConnectConfigClientJwkArgs.builder()
                            .alg("...my_alg...")
                            .crv("...my_crv...")
                            .d("...my_d...")
                            .dp("...my_dp...")
                            .dq("...my_dq...")
                            .e("...my_e...")
                            .issuer("...my_issuer...")
                            .k("...my_k...")
                            .keyOps("...")
                            .kid("...my_kid...")
                            .kty("...my_kty...")
                            .n("...my_n...")
                            .oth("...my_oth...")
                            .p("...my_p...")
                            .q("...my_q...")
                            .qi("...my_qi...")
                            .r("...my_r...")
                            .t("...my_t...")
                            .use("...my_use...")
                            .x("...my_x...")
                            .x5cs("...")
                            .x5t("...my_x5t...")
                            .x5tNumberS256("...my_x5t_number_s256...")
                            .x5u("...my_x5u...")
                            .y("...my_y...")
                            .build())
                        .clientSecrets("...")
                        .clusterCacheRedis(AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisArgs.builder()
                            .cloudAuthentication(AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthenticationArgs.builder()
                                .authProvider("gcp")
                                .awsAccessKeyId("...my_aws_access_key_id...")
                                .awsAssumeRoleArn("...my_aws_assume_role_arn...")
                                .awsCacheName("...my_aws_cache_name...")
                                .awsIsServerless(true)
                                .awsRegion("...my_aws_region...")
                                .awsRoleSessionName("...my_aws_role_session_name...")
                                .awsSecretAccessKey("...my_aws_secret_access_key...")
                                .azureClientId("...my_azure_client_id...")
                                .azureClientSecret("...my_azure_client_secret...")
                                .azureTenantId("...my_azure_tenant_id...")
                                .gcpServiceAccountJson("...my_gcp_service_account_json...")
                                .build())
                            .clusterMaxRedirections(5.0)
                            .clusterNodes(AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNodeArgs.builder()
                                .ip("127.0.0.1")
                                .port(6379.0)
                                .build())
                            .connectTimeout(2000.0)
                            .connectionIsProxied(false)
                            .database(0.0)
                            .host("127.0.0.1")
                            .keepaliveBacklog(1429494394.0)
                            .keepalivePoolSize(256.0)
                            .password("...my_password...")
                            .port("6379")
                            .readTimeout(2000.0)
                            .sendTimeout(2000.0)
                            .sentinelMaster("...my_sentinel_master...")
                            .sentinelNodes(AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNodeArgs.builder()
                                .host("127.0.0.1")
                                .port(6379.0)
                                .build())
                            .sentinelPassword("...my_sentinel_password...")
                            .sentinelRole("any")
                            .sentinelUsername("...my_sentinel_username...")
                            .serverName("...my_server_name...")
                            .ssl(false)
                            .sslVerify(true)
                            .username("...my_username...")
                            .build())
                        .clusterCacheStrategy("off")
                        .consumerBies("id")
                        .consumerClaims()
                        .consumerGroupsClaims("...")
                        .consumerGroupsOptional(false)
                        .consumerOptional(false)
                        .credentialClaims("...")
                        .disableSessions("bearer")
                        .discoveryHeadersNames("...")
                        .discoveryHeadersValues("...")
                        .displayErrors(false)
                        .domains("...")
                        .downstreamAccessTokenHeader("...my_downstream_access_token_header...")
                        .downstreamAccessTokenJwkHeader("...my_downstream_access_token_jwk_header...")
                        .downstreamHeaders(AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeaderArgs.builder()
                            .header("...my_header...")
                            .paths("...")
                            .build())
                        .downstreamHeadersClaims("...")
                        .downstreamHeadersNames("...")
                        .downstreamIdTokenHeader("...my_downstream_id_token_header...")
                        .downstreamIdTokenJwkHeader("...my_downstream_id_token_jwk_header...")
                        .downstreamIntrospectionHeader("...my_downstream_introspection_header...")
                        .downstreamIntrospectionJwtHeader("...my_downstream_introspection_jwt_header...")
                        .downstreamRefreshTokenHeader("...my_downstream_refresh_token_header...")
                        .downstreamSessionIdHeader("...my_downstream_session_id_header...")
                        .downstreamUserInfoHeader("...my_downstream_user_info_header...")
                        .downstreamUserInfoJwtHeader("...my_downstream_user_info_jwt_header...")
                        .dpopProofLifetime(300.0)
                        .dpopUseNonce(false)
                        .enableHsSignatures(false)
                        .endSessionEndpoint("...my_end_session_endpoint...")
                        .exposeErrorCode(true)
                        .extraJwksUris("...")
                        .forbiddenDestroySession(true)
                        .forbiddenErrorMessage("Forbidden")
                        .forbiddenRedirectUris("...")
                        .groupsClaims("...")
                        .groupsRequireds("...")
                        .hideCredentials(true)
                        .httpProxy("...my_http_proxy...")
                        .httpProxyAuthorization("...my_http_proxy_authorization...")
                        .httpVersion(9.47)
                        .httpsProxy("...my_https_proxy...")
                        .httpsProxyAuthorization("...my_https_proxy_authorization...")
                        .idTokenParamName("...my_id_token_param_name...")
                        .idTokenParamTypes("body")
                        .ignoreSignatures("session")
                        .introspectJwtTokens(false)
                        .introspectionAccept("application/json")
                        .introspectionCheckActive(true)
                        .introspectionEndpoint("...my_introspection_endpoint...")
                        .introspectionEndpointAuthMethod("client_secret_jwt")
                        .introspectionHeadersClients("...")
                        .introspectionHeadersNames("...")
                        .introspectionHeadersValues("...")
                        .introspectionHint("access_token")
                        .introspectionPostArgsClients("...")
                        .introspectionPostArgsClientHeaders("...")
                        .introspectionPostArgsNames("...")
                        .introspectionPostArgsValues("...")
                        .introspectionTokenParamName("token")
                        .issuer("...my_issuer...")
                        .issuersAlloweds("...")
                        .jwksEndpoint("...my_jwks_endpoint...")
                        .jwtSessionClaim("sid")
                        .jwtSessionCookie("...my_jwt_session_cookie...")
                        .keepalive(true)
                        .leeway(0.0)
                        .loginAction("upstream")
                        .loginMethods("client_credentials")
                        .loginRedirectMode("fragment")
                        .loginRedirectUris("...")
                        .loginTokens("tokens")
                        .logoutMethods("GET")
                        .logoutPostArg("...my_logout_post_arg...")
                        .logoutQueryArg("...my_logout_query_arg...")
                        .logoutRedirectUris("...")
                        .logoutRevoke(false)
                        .logoutRevokeAccessToken(true)
                        .logoutRevokeRefreshToken(true)
                        .logoutUriSuffix("...my_logout_uri_suffix...")
                        .maxAge(8.25)
                        .mtlsIntrospectionEndpoint("...my_mtls_introspection_endpoint...")
                        .mtlsRevocationEndpoint("...my_mtls_revocation_endpoint...")
                        .mtlsTokenEndpoint("...my_mtls_token_endpoint...")
                        .noProxy("...my_no_proxy...")
                        .passwordParamTypes("query")
                        .preserveQueryArgs(false)
                        .principals(AiGatewayAuthStrategyOpenidConnectConfigPrincipalsArgs.builder()
                            .directory("default")
                            .enabled(false)
                            .errorOnMiss(true)
                            .matchConsumer(true)
                            .matchConsumerGroups(true)
                            .principalBy("...my_principal_by...")
                            .principalClaims("...")
                            .build())
                        .proofOfPossessionAuthMethodsValidation(true)
                        .proofOfPossessionDpop("off")
                        .proofOfPossessionMtls("off")
                        .pushedAuthorizationRequestEndpoint("...my_pushed_authorization_request_endpoint...")
                        .pushedAuthorizationRequestEndpointAuthMethod("self_signed_tls_client_auth")
                        .redirectUris("...")
                        .redis(AiGatewayAuthStrategyOpenidConnectConfigRedisArgs.builder()
                            .cloudAuthentication(AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthenticationArgs.builder()
                                .authProvider("azure")
                                .awsAccessKeyId("...my_aws_access_key_id...")
                                .awsAssumeRoleArn("...my_aws_assume_role_arn...")
                                .awsCacheName("...my_aws_cache_name...")
                                .awsIsServerless(true)
                                .awsRegion("...my_aws_region...")
                                .awsRoleSessionName("...my_aws_role_session_name...")
                                .awsSecretAccessKey("...my_aws_secret_access_key...")
                                .azureClientId("...my_azure_client_id...")
                                .azureClientSecret("...my_azure_client_secret...")
                                .azureTenantId("...my_azure_tenant_id...")
                                .gcpServiceAccountJson("...my_gcp_service_account_json...")
                                .build())
                            .clusterMaxRedirections(5.0)
                            .clusterNodes(AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNodeArgs.builder()
                                .ip("127.0.0.1")
                                .port(6379.0)
                                .build())
                            .connectTimeout(2000.0)
                            .connectionIsProxied(false)
                            .database(0.0)
                            .host("127.0.0.1")
                            .keepaliveBacklog(73538938.0)
                            .keepalivePoolSize(256.0)
                            .password("...my_password...")
                            .port("6379")
                            .prefix("...my_prefix...")
                            .readTimeout(2000.0)
                            .sendTimeout(2000.0)
                            .sentinelMaster("...my_sentinel_master...")
                            .sentinelNodes(AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNodeArgs.builder()
                                .host("127.0.0.1")
                                .port(6379.0)
                                .build())
                            .sentinelPassword("...my_sentinel_password...")
                            .sentinelRole("slave")
                            .sentinelUsername("...my_sentinel_username...")
                            .serverName("...my_server_name...")
                            .socket("...my_socket...")
                            .ssl(false)
                            .sslVerify(true)
                            .username("...my_username...")
                            .build())
                        .rediscoveryLifetime(30.0)
                        .refreshTokenParamName("...my_refresh_token_param_name...")
                        .refreshTokenParamTypes("header")
                        .refreshTokens(true)
                        .requireProofKeyForCodeExchange(true)
                        .requirePushedAuthorizationRequests(true)
                        .requireSignedRequestObject(false)
                        .resolveDistributedClaims(false)
                        .responseMode("query")
                        .responseTypes("...")
                        .reverify(false)
                        .revocationEndpoint("...my_revocation_endpoint...")
                        .revocationEndpointAuthMethod("tls_client_auth")
                        .revocationTokenParamName("token")
                        .rolesClaims("...")
                        .rolesRequireds("...")
                        .runOnPreflight(true)
                        .scopes("...")
                        .scopesClaims("...")
                        .scopesRequireds("...")
                        .searchUserInfo(false)
                        .sessionAbsoluteTimeout(86400.0)
                        .sessionAudience("default")
                        .sessionBinds("ip")
                        .sessionCookieDomain("...my_session_cookie_domain...")
                        .sessionCookieHttpOnly(true)
                        .sessionCookieName("session")
                        .sessionCookiePath("/")
                        .sessionCookieSameSite("Lax")
                        .sessionCookieSecure(true)
                        .sessionEnforceSameSubject(false)
                        .sessionHashStorageKey(false)
                        .sessionHashSubject(false)
                        .sessionIdlingTimeout(900.0)
                        .sessionMemcachedHost("127.0.0.1")
                        .sessionMemcachedPort(11211.0)
                        .sessionMemcachedPrefix("...my_session_memcached_prefix...")
                        .sessionMemcachedSocket("...my_session_memcached_socket...")
                        .sessionMemcachedSsl(true)
                        .sessionMemcachedSslVerify(true)
                        .sessionRemember(false)
                        .sessionRememberAbsoluteTimeout(2592000.0)
                        .sessionRememberCookieName("remember")
                        .sessionRememberRollingTimeout(604800.0)
                        .sessionRequestHeaders("subject")
                        .sessionResponseHeaders("absolute-timeout")
                        .sessionRollingTimeout(3600.0)
                        .sessionSecret("...my_session_secret...")
                        .sessionStorage("cookie")
                        .sessionStoreMetadata(false)
                        .sslVerify(true)
                        .timeout(10000.0)
                        .tlsClientAuthCertId("...my_tls_client_auth_cert_id...")
                        .tlsClientAuthSslVerify(true)
                        .tokenCacheKeyIncludeScope(false)
                        .tokenEndpoint("...my_token_endpoint...")
                        .tokenEndpointAuthMethod("client_secret_basic")
                        .tokenExchange(AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeArgs.builder()
                            .cache(AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCacheArgs.builder()
                                .enabled(true)
                                .ttl(7.0)
                                .build())
                            .request(AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequestArgs.builder()
                                .audiences("...")
                                .emptyAudience(false)
                                .emptyScopes(false)
                                .scopes("...")
                                .build())
                            .subjectTokenIssuers(AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerArgs.builder()
                                .conditions(AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditionsArgs.builder()
                                    .hasAudiences("...")
                                    .hasScopes("...")
                                    .missingAudiences("...")
                                    .missingScopes("...")
                                    .build())
                                .issuer("...my_issuer...")
                                .build())
                            .build())
                        .tokenExchangeEndpoint("...my_token_exchange_endpoint...")
                        .tokenHeadersClients("...")
                        .tokenHeadersGrants("refresh_token")
                        .tokenHeadersNames("...")
                        .tokenHeadersPrefix("...my_token_headers_prefix...")
                        .tokenHeadersReplays("...")
                        .tokenHeadersValues("...")
                        .tokenPostArgsClients("...")
                        .tokenPostArgsNames("...")
                        .tokenPostArgsValues("...")
                        .unauthorizedDestroySession(true)
                        .unauthorizedErrorMessage("Unauthorized")
                        .unauthorizedRedirectUris("...")
                        .unexpectedRedirectUris("...")
                        .upstreamAccessTokenHeader("authorization:bearer")
                        .upstreamAccessTokenJwkHeader("...my_upstream_access_token_jwk_header...")
                        .upstreamHeaders(AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeaderArgs.builder()
                            .header("...my_header...")
                            .paths("...")
                            .build())
                        .upstreamHeadersClaims("...")
                        .upstreamHeadersNames("...")
                        .upstreamIdTokenHeader("...my_upstream_id_token_header...")
                        .upstreamIdTokenJwkHeader("...my_upstream_id_token_jwk_header...")
                        .upstreamIntrospectionHeader("...my_upstream_introspection_header...")
                        .upstreamIntrospectionJwtHeader("...my_upstream_introspection_jwt_header...")
                        .upstreamRefreshTokenHeader("...my_upstream_refresh_token_header...")
                        .upstreamSessionIdHeader("...my_upstream_session_id_header...")
                        .upstreamUserInfoHeader("...my_upstream_user_info_header...")
                        .upstreamUserInfoJwtHeader("...my_upstream_user_info_jwt_header...")
                        .userinfoAccept("application/json")
                        .userinfoEndpoint("...my_userinfo_endpoint...")
                        .userinfoHeadersClients("...")
                        .userinfoHeadersNames("...")
                        .userinfoHeadersValues("...")
                        .userinfoQueryArgsClients("...")
                        .userinfoQueryArgsNames("...")
                        .userinfoQueryArgsValues("...")
                        .usingPseudoIssuer(false)
                        .verifyClaims(true)
                        .verifyNonce(true)
                        .verifyParameters(false)
                        .verifySignature(true)
                        .build())
                    .displayName("Okta AI SE")
                    .labels(Map.of("key", "value"))
                    .managedBy(Map.of("key", "value"))
                    .name("okta-ai-se")
                    .build())
                .build());
    
        }
    }
    
    resources:
      myAigatewayauthstrategy:
        type: konnect:AiGatewayAuthStrategy
        name: my_aigatewayauthstrategy
        properties:
          gatewayId: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7
          keyAuth:
            config:
              anonymous: '...my_anonymous...'
              hideCredentials: true
              identityRealms:
                - id: '...my_id...'
                  region: '...my_region...'
                  scope: cp
              keyInBody: false
              keyInHeader: true
              keyInQuery: true
              keyNames:
                - '...'
              principals:
                directory: default
                enabled: false
                errorOnMiss: true
              realm: '...my_realm...'
              runOnPreflight: true
            displayName: Okta AI SE
            labels:
              key: value
            managedBy:
              key: value
            name: okta-ai-se
          openidConnect:
            config:
              anonymous: '...my_anonymous...'
              audiences:
                - '...'
              audienceClaims:
                - '...'
              audienceRequireds:
                - '...'
              authMethods:
                - userinfo
              authenticatedGroupsClaims:
                - '...'
              authorizationCookieDomain: '...my_authorization_cookie_domain...'
              authorizationCookieHttpOnly: true
              authorizationCookieName: authorization
              authorizationCookiePath: /
              authorizationCookieSameSite: Default
              authorizationCookieSecure: false
              authorizationEndpoint: '...my_authorization_endpoint...'
              authorizationQueryArgsClients:
                - '...'
              authorizationQueryArgsNames:
                - '...'
              authorizationQueryArgsValues:
                - '...'
              authorizationRollingTimeout: 600
              bearerTokenCookieName: '...my_bearer_token_cookie_name...'
              bearerTokenParamTypes:
                - cookie
              byUsernameIgnoreCase: false
              cacheIntrospection: true
              cacheTokenExchange: true
              cacheTokens: true
              cacheTokensSalt: '...my_cache_tokens_salt...'
              cacheTtl: 3600
              cacheTtlMax: 6.13
              cacheTtlMin: 8.74
              cacheTtlNeg: 5.39
              cacheTtlResurrect: 8.05
              cacheUserInfo: true
              claimsForbiddens:
                - '...'
              clientAlgs:
                - RS512
              clientArg: client_id
              clientAuths:
                - client_secret_basic
              clientCredentialsParamTypes:
                - body
              clientIds:
                - '...'
              clientJwks:
                - alg: '...my_alg...'
                  crv: '...my_crv...'
                  d: '...my_d...'
                  dp: '...my_dp...'
                  dq: '...my_dq...'
                  e: '...my_e...'
                  issuer: '...my_issuer...'
                  k: '...my_k...'
                  keyOps:
                    - '...'
                  kid: '...my_kid...'
                  kty: '...my_kty...'
                  n: '...my_n...'
                  oth: '...my_oth...'
                  p: '...my_p...'
                  q: '...my_q...'
                  qi: '...my_qi...'
                  r: '...my_r...'
                  t: '...my_t...'
                  use: '...my_use...'
                  x: '...my_x...'
                  x5cs:
                    - '...'
                  x5t: '...my_x5t...'
                  x5tNumberS256: '...my_x5t_number_s256...'
                  x5u: '...my_x5u...'
                  y: '...my_y...'
              clientSecrets:
                - '...'
              clusterCacheRedis:
                cloudAuthentication:
                  authProvider: gcp
                  awsAccessKeyId: '...my_aws_access_key_id...'
                  awsAssumeRoleArn: '...my_aws_assume_role_arn...'
                  awsCacheName: '...my_aws_cache_name...'
                  awsIsServerless: true
                  awsRegion: '...my_aws_region...'
                  awsRoleSessionName: '...my_aws_role_session_name...'
                  awsSecretAccessKey: '...my_aws_secret_access_key...'
                  azureClientId: '...my_azure_client_id...'
                  azureClientSecret: '...my_azure_client_secret...'
                  azureTenantId: '...my_azure_tenant_id...'
                  gcpServiceAccountJson: '...my_gcp_service_account_json...'
                clusterMaxRedirections: 5
                clusterNodes:
                  - ip: 127.0.0.1
                    port: 6379
                connectTimeout: 2000
                connectionIsProxied: false
                database: 0
                host: 127.0.0.1
                keepaliveBacklog: 1.429494394e+09
                keepalivePoolSize: 256
                password: '...my_password...'
                port: '6379'
                readTimeout: 2000
                sendTimeout: 2000
                sentinelMaster: '...my_sentinel_master...'
                sentinelNodes:
                  - host: 127.0.0.1
                    port: 6379
                sentinelPassword: '...my_sentinel_password...'
                sentinelRole: any
                sentinelUsername: '...my_sentinel_username...'
                serverName: '...my_server_name...'
                ssl: false
                sslVerify: true
                username: '...my_username...'
              clusterCacheStrategy: off
              consumerBies:
                - id
              consumerClaims:
                - []
              consumerGroupsClaims:
                - '...'
              consumerGroupsOptional: false
              consumerOptional: false
              credentialClaims:
                - '...'
              disableSessions:
                - bearer
              discoveryHeadersNames:
                - '...'
              discoveryHeadersValues:
                - '...'
              displayErrors: false
              domains:
                - '...'
              downstreamAccessTokenHeader: '...my_downstream_access_token_header...'
              downstreamAccessTokenJwkHeader: '...my_downstream_access_token_jwk_header...'
              downstreamHeaders:
                - header: '...my_header...'
                  paths:
                    - '...'
              downstreamHeadersClaims:
                - '...'
              downstreamHeadersNames:
                - '...'
              downstreamIdTokenHeader: '...my_downstream_id_token_header...'
              downstreamIdTokenJwkHeader: '...my_downstream_id_token_jwk_header...'
              downstreamIntrospectionHeader: '...my_downstream_introspection_header...'
              downstreamIntrospectionJwtHeader: '...my_downstream_introspection_jwt_header...'
              downstreamRefreshTokenHeader: '...my_downstream_refresh_token_header...'
              downstreamSessionIdHeader: '...my_downstream_session_id_header...'
              downstreamUserInfoHeader: '...my_downstream_user_info_header...'
              downstreamUserInfoJwtHeader: '...my_downstream_user_info_jwt_header...'
              dpopProofLifetime: 300
              dpopUseNonce: false
              enableHsSignatures: false
              endSessionEndpoint: '...my_end_session_endpoint...'
              exposeErrorCode: true
              extraJwksUris:
                - '...'
              forbiddenDestroySession: true
              forbiddenErrorMessage: Forbidden
              forbiddenRedirectUris:
                - '...'
              groupsClaims:
                - '...'
              groupsRequireds:
                - '...'
              hideCredentials: true
              httpProxy: '...my_http_proxy...'
              httpProxyAuthorization: '...my_http_proxy_authorization...'
              httpVersion: 9.47
              httpsProxy: '...my_https_proxy...'
              httpsProxyAuthorization: '...my_https_proxy_authorization...'
              idTokenParamName: '...my_id_token_param_name...'
              idTokenParamTypes:
                - body
              ignoreSignatures:
                - session
              introspectJwtTokens: false
              introspectionAccept: application/json
              introspectionCheckActive: true
              introspectionEndpoint: '...my_introspection_endpoint...'
              introspectionEndpointAuthMethod: client_secret_jwt
              introspectionHeadersClients:
                - '...'
              introspectionHeadersNames:
                - '...'
              introspectionHeadersValues:
                - '...'
              introspectionHint: access_token
              introspectionPostArgsClients:
                - '...'
              introspectionPostArgsClientHeaders:
                - '...'
              introspectionPostArgsNames:
                - '...'
              introspectionPostArgsValues:
                - '...'
              introspectionTokenParamName: token
              issuer: '...my_issuer...'
              issuersAlloweds:
                - '...'
              jwksEndpoint: '...my_jwks_endpoint...'
              jwtSessionClaim: sid
              jwtSessionCookie: '...my_jwt_session_cookie...'
              keepalive: true
              leeway: 0
              loginAction: upstream
              loginMethods:
                - client_credentials
              loginRedirectMode: fragment
              loginRedirectUris:
                - '...'
              loginTokens:
                - tokens
              logoutMethods:
                - GET
              logoutPostArg: '...my_logout_post_arg...'
              logoutQueryArg: '...my_logout_query_arg...'
              logoutRedirectUris:
                - '...'
              logoutRevoke: false
              logoutRevokeAccessToken: true
              logoutRevokeRefreshToken: true
              logoutUriSuffix: '...my_logout_uri_suffix...'
              maxAge: 8.25
              mtlsIntrospectionEndpoint: '...my_mtls_introspection_endpoint...'
              mtlsRevocationEndpoint: '...my_mtls_revocation_endpoint...'
              mtlsTokenEndpoint: '...my_mtls_token_endpoint...'
              noProxy: '...my_no_proxy...'
              passwordParamTypes:
                - query
              preserveQueryArgs: false
              principals:
                directory: default
                enabled: false
                errorOnMiss: true
                matchConsumer: true
                matchConsumerGroups: true
                principalBy: '...my_principal_by...'
                principalClaims:
                  - '...'
              proofOfPossessionAuthMethodsValidation: true
              proofOfPossessionDpop: off
              proofOfPossessionMtls: off
              pushedAuthorizationRequestEndpoint: '...my_pushed_authorization_request_endpoint...'
              pushedAuthorizationRequestEndpointAuthMethod: self_signed_tls_client_auth
              redirectUris:
                - '...'
              redis:
                cloudAuthentication:
                  authProvider: azure
                  awsAccessKeyId: '...my_aws_access_key_id...'
                  awsAssumeRoleArn: '...my_aws_assume_role_arn...'
                  awsCacheName: '...my_aws_cache_name...'
                  awsIsServerless: true
                  awsRegion: '...my_aws_region...'
                  awsRoleSessionName: '...my_aws_role_session_name...'
                  awsSecretAccessKey: '...my_aws_secret_access_key...'
                  azureClientId: '...my_azure_client_id...'
                  azureClientSecret: '...my_azure_client_secret...'
                  azureTenantId: '...my_azure_tenant_id...'
                  gcpServiceAccountJson: '...my_gcp_service_account_json...'
                clusterMaxRedirections: 5
                clusterNodes:
                  - ip: 127.0.0.1
                    port: 6379
                connectTimeout: 2000
                connectionIsProxied: false
                database: 0
                host: 127.0.0.1
                keepaliveBacklog: 7.3538938e+07
                keepalivePoolSize: 256
                password: '...my_password...'
                port: '6379'
                prefix: '...my_prefix...'
                readTimeout: 2000
                sendTimeout: 2000
                sentinelMaster: '...my_sentinel_master...'
                sentinelNodes:
                  - host: 127.0.0.1
                    port: 6379
                sentinelPassword: '...my_sentinel_password...'
                sentinelRole: slave
                sentinelUsername: '...my_sentinel_username...'
                serverName: '...my_server_name...'
                socket: '...my_socket...'
                ssl: false
                sslVerify: true
                username: '...my_username...'
              rediscoveryLifetime: 30
              refreshTokenParamName: '...my_refresh_token_param_name...'
              refreshTokenParamTypes:
                - header
              refreshTokens: true
              requireProofKeyForCodeExchange: true
              requirePushedAuthorizationRequests: true
              requireSignedRequestObject: false
              resolveDistributedClaims: false
              responseMode: query
              responseTypes:
                - '...'
              reverify: false
              revocationEndpoint: '...my_revocation_endpoint...'
              revocationEndpointAuthMethod: tls_client_auth
              revocationTokenParamName: token
              rolesClaims:
                - '...'
              rolesRequireds:
                - '...'
              runOnPreflight: true
              scopes:
                - '...'
              scopesClaims:
                - '...'
              scopesRequireds:
                - '...'
              searchUserInfo: false
              sessionAbsoluteTimeout: 86400
              sessionAudience: default
              sessionBinds:
                - ip
              sessionCookieDomain: '...my_session_cookie_domain...'
              sessionCookieHttpOnly: true
              sessionCookieName: session
              sessionCookiePath: /
              sessionCookieSameSite: Lax
              sessionCookieSecure: true
              sessionEnforceSameSubject: false
              sessionHashStorageKey: false
              sessionHashSubject: false
              sessionIdlingTimeout: 900
              sessionMemcachedHost: 127.0.0.1
              sessionMemcachedPort: 11211
              sessionMemcachedPrefix: '...my_session_memcached_prefix...'
              sessionMemcachedSocket: '...my_session_memcached_socket...'
              sessionMemcachedSsl: true
              sessionMemcachedSslVerify: true
              sessionRemember: false
              sessionRememberAbsoluteTimeout: 2.592e+06
              sessionRememberCookieName: remember
              sessionRememberRollingTimeout: 604800
              sessionRequestHeaders:
                - subject
              sessionResponseHeaders:
                - absolute-timeout
              sessionRollingTimeout: 3600
              sessionSecret: '...my_session_secret...'
              sessionStorage: cookie
              sessionStoreMetadata: false
              sslVerify: true
              timeout: 10000
              tlsClientAuthCertId: '...my_tls_client_auth_cert_id...'
              tlsClientAuthSslVerify: true
              tokenCacheKeyIncludeScope: false
              tokenEndpoint: '...my_token_endpoint...'
              tokenEndpointAuthMethod: client_secret_basic
              tokenExchange:
                cache:
                  enabled: true
                  ttl: 7
                request:
                  audiences:
                    - '...'
                  emptyAudience: false
                  emptyScopes: false
                  scopes:
                    - '...'
                subjectTokenIssuers:
                  - conditions:
                      hasAudiences:
                        - '...'
                      hasScopes:
                        - '...'
                      missingAudiences:
                        - '...'
                      missingScopes:
                        - '...'
                    issuer: '...my_issuer...'
              tokenExchangeEndpoint: '...my_token_exchange_endpoint...'
              tokenHeadersClients:
                - '...'
              tokenHeadersGrants:
                - refresh_token
              tokenHeadersNames:
                - '...'
              tokenHeadersPrefix: '...my_token_headers_prefix...'
              tokenHeadersReplays:
                - '...'
              tokenHeadersValues:
                - '...'
              tokenPostArgsClients:
                - '...'
              tokenPostArgsNames:
                - '...'
              tokenPostArgsValues:
                - '...'
              unauthorizedDestroySession: true
              unauthorizedErrorMessage: Unauthorized
              unauthorizedRedirectUris:
                - '...'
              unexpectedRedirectUris:
                - '...'
              upstreamAccessTokenHeader: authorization:bearer
              upstreamAccessTokenJwkHeader: '...my_upstream_access_token_jwk_header...'
              upstreamHeaders:
                - header: '...my_header...'
                  paths:
                    - '...'
              upstreamHeadersClaims:
                - '...'
              upstreamHeadersNames:
                - '...'
              upstreamIdTokenHeader: '...my_upstream_id_token_header...'
              upstreamIdTokenJwkHeader: '...my_upstream_id_token_jwk_header...'
              upstreamIntrospectionHeader: '...my_upstream_introspection_header...'
              upstreamIntrospectionJwtHeader: '...my_upstream_introspection_jwt_header...'
              upstreamRefreshTokenHeader: '...my_upstream_refresh_token_header...'
              upstreamSessionIdHeader: '...my_upstream_session_id_header...'
              upstreamUserInfoHeader: '...my_upstream_user_info_header...'
              upstreamUserInfoJwtHeader: '...my_upstream_user_info_jwt_header...'
              userinfoAccept: application/json
              userinfoEndpoint: '...my_userinfo_endpoint...'
              userinfoHeadersClients:
                - '...'
              userinfoHeadersNames:
                - '...'
              userinfoHeadersValues:
                - '...'
              userinfoQueryArgsClients:
                - '...'
              userinfoQueryArgsNames:
                - '...'
              userinfoQueryArgsValues:
                - '...'
              usingPseudoIssuer: false
              verifyClaims: true
              verifyNonce: true
              verifyParameters: false
              verifySignature: true
            displayName: Okta AI SE
            labels:
              key: value
            managedBy:
              key: value
            name: okta-ai-se
    
    Example coming soon!
    

    Create AiGatewayAuthStrategy Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AiGatewayAuthStrategy(name: string, args: AiGatewayAuthStrategyArgs, opts?: CustomResourceOptions);
    @overload
    def AiGatewayAuthStrategy(resource_name: str,
                              args: AiGatewayAuthStrategyArgs,
                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def AiGatewayAuthStrategy(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              gateway_id: Optional[str] = None,
                              key_auth: Optional[AiGatewayAuthStrategyKeyAuthArgs] = None,
                              openid_connect: Optional[AiGatewayAuthStrategyOpenidConnectArgs] = None)
    func NewAiGatewayAuthStrategy(ctx *Context, name string, args AiGatewayAuthStrategyArgs, opts ...ResourceOption) (*AiGatewayAuthStrategy, error)
    public AiGatewayAuthStrategy(string name, AiGatewayAuthStrategyArgs args, CustomResourceOptions? opts = null)
    public AiGatewayAuthStrategy(String name, AiGatewayAuthStrategyArgs args)
    public AiGatewayAuthStrategy(String name, AiGatewayAuthStrategyArgs args, CustomResourceOptions options)
    
    type: konnect:AiGatewayAuthStrategy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "konnect_ai_gateway_auth_strategy" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args AiGatewayAuthStrategyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AiGatewayAuthStrategyArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AiGatewayAuthStrategyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AiGatewayAuthStrategyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AiGatewayAuthStrategyArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    AiGatewayAuthStrategy Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The AiGatewayAuthStrategy resource accepts the following input properties:

    GatewayId string
    The unique ID of the AI Gateway.
    KeyAuth AiGatewayAuthStrategyKeyAuth
    Configuration for an auth strategy.
    OpenidConnect AiGatewayAuthStrategyOpenidConnect
    Configuration for an auth strategy.
    GatewayId string
    The unique ID of the AI Gateway.
    KeyAuth AiGatewayAuthStrategyKeyAuthArgs
    Configuration for an auth strategy.
    OpenidConnect AiGatewayAuthStrategyOpenidConnectArgs
    Configuration for an auth strategy.
    gateway_id string
    The unique ID of the AI Gateway.
    key_auth object
    Configuration for an auth strategy.
    openid_connect object
    Configuration for an auth strategy.
    gatewayId String
    The unique ID of the AI Gateway.
    keyAuth AiGatewayAuthStrategyKeyAuth
    Configuration for an auth strategy.
    openidConnect AiGatewayAuthStrategyOpenidConnect
    Configuration for an auth strategy.
    gatewayId string
    The unique ID of the AI Gateway.
    keyAuth AiGatewayAuthStrategyKeyAuth
    Configuration for an auth strategy.
    openidConnect AiGatewayAuthStrategyOpenidConnect
    Configuration for an auth strategy.
    gateway_id str
    The unique ID of the AI Gateway.
    key_auth AiGatewayAuthStrategyKeyAuthArgs
    Configuration for an auth strategy.
    openid_connect AiGatewayAuthStrategyOpenidConnectArgs
    Configuration for an auth strategy.
    gatewayId String
    The unique ID of the AI Gateway.
    keyAuth Property Map
    Configuration for an auth strategy.
    openidConnect Property Map
    Configuration for an auth strategy.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AiGatewayAuthStrategy resource produces the following output properties:

    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    created_at string
    An ISO-8601 timestamp representation of entity creation date.
    display_name string
    The display name for this auth strategy instance.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updated_at string
    An ISO-8601 timestamp representation of entity update date.
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.
    createdAt string
    An ISO-8601 timestamp representation of entity creation date.
    displayName string
    The display name for this auth strategy instance.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt string
    An ISO-8601 timestamp representation of entity update date.
    created_at str
    An ISO-8601 timestamp representation of entity creation date.
    display_name str
    The display name for this auth strategy instance.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updated_at str
    An ISO-8601 timestamp representation of entity update date.
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.

    Look up Existing AiGatewayAuthStrategy Resource

    Get an existing AiGatewayAuthStrategy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AiGatewayAuthStrategyState, opts?: CustomResourceOptions): AiGatewayAuthStrategy
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            created_at: Optional[str] = None,
            display_name: Optional[str] = None,
            gateway_id: Optional[str] = None,
            key_auth: Optional[AiGatewayAuthStrategyKeyAuthArgs] = None,
            name: Optional[str] = None,
            openid_connect: Optional[AiGatewayAuthStrategyOpenidConnectArgs] = None,
            updated_at: Optional[str] = None) -> AiGatewayAuthStrategy
    func GetAiGatewayAuthStrategy(ctx *Context, name string, id IDInput, state *AiGatewayAuthStrategyState, opts ...ResourceOption) (*AiGatewayAuthStrategy, error)
    public static AiGatewayAuthStrategy Get(string name, Input<string> id, AiGatewayAuthStrategyState? state, CustomResourceOptions? opts = null)
    public static AiGatewayAuthStrategy get(String name, Output<String> id, AiGatewayAuthStrategyState state, CustomResourceOptions options)
    resources:  _:    type: konnect:AiGatewayAuthStrategy    get:      id: ${id}
    import {
      to = konnect_ai_gateway_auth_strategy.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance.
    GatewayId string
    The unique ID of the AI Gateway.
    KeyAuth AiGatewayAuthStrategyKeyAuth
    Configuration for an auth strategy.
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    OpenidConnect AiGatewayAuthStrategyOpenidConnect
    Configuration for an auth strategy.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance.
    GatewayId string
    The unique ID of the AI Gateway.
    KeyAuth AiGatewayAuthStrategyKeyAuthArgs
    Configuration for an auth strategy.
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    OpenidConnect AiGatewayAuthStrategyOpenidConnectArgs
    Configuration for an auth strategy.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    created_at string
    An ISO-8601 timestamp representation of entity creation date.
    display_name string
    The display name for this auth strategy instance.
    gateway_id string
    The unique ID of the AI Gateway.
    key_auth object
    Configuration for an auth strategy.
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    openid_connect object
    Configuration for an auth strategy.
    updated_at string
    An ISO-8601 timestamp representation of entity update date.
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance.
    gatewayId String
    The unique ID of the AI Gateway.
    keyAuth AiGatewayAuthStrategyKeyAuth
    Configuration for an auth strategy.
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    openidConnect AiGatewayAuthStrategyOpenidConnect
    Configuration for an auth strategy.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.
    createdAt string
    An ISO-8601 timestamp representation of entity creation date.
    displayName string
    The display name for this auth strategy instance.
    gatewayId string
    The unique ID of the AI Gateway.
    keyAuth AiGatewayAuthStrategyKeyAuth
    Configuration for an auth strategy.
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    openidConnect AiGatewayAuthStrategyOpenidConnect
    Configuration for an auth strategy.
    updatedAt string
    An ISO-8601 timestamp representation of entity update date.
    created_at str
    An ISO-8601 timestamp representation of entity creation date.
    display_name str
    The display name for this auth strategy instance.
    gateway_id str
    The unique ID of the AI Gateway.
    key_auth AiGatewayAuthStrategyKeyAuthArgs
    Configuration for an auth strategy.
    name str
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    openid_connect AiGatewayAuthStrategyOpenidConnectArgs
    Configuration for an auth strategy.
    updated_at str
    An ISO-8601 timestamp representation of entity update date.
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance.
    gatewayId String
    The unique ID of the AI Gateway.
    keyAuth Property Map
    Configuration for an auth strategy.
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    openidConnect Property Map
    Configuration for an auth strategy.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.

    Supporting Types

    AiGatewayAuthStrategyKeyAuth, AiGatewayAuthStrategyKeyAuthArgs

    Config AiGatewayAuthStrategyKeyAuthConfig
    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance. Not Null
    Id string
    Contains a unique identifier used for this resource.
    Labels Dictionary<string, string>
    Public labels store information about an entity that can be used for filtering a list of objects.
    ManagedBy Dictionary<string, string>
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    Config AiGatewayAuthStrategyKeyAuthConfig
    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance. Not Null
    Id string
    Contains a unique identifier used for this resource.
    Labels map[string]string
    Public labels store information about an entity that can be used for filtering a list of objects.
    ManagedBy map[string]string
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    config object
    created_at string
    An ISO-8601 timestamp representation of entity creation date.
    display_name string
    The display name for this auth strategy instance. Not Null
    id string
    Contains a unique identifier used for this resource.
    labels map(string)
    Public labels store information about an entity that can be used for filtering a list of objects.
    managed_by map(string)
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updated_at string
    An ISO-8601 timestamp representation of entity update date.
    config AiGatewayAuthStrategyKeyAuthConfig
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance. Not Null
    id String
    Contains a unique identifier used for this resource.
    labels Map<String,String>
    Public labels store information about an entity that can be used for filtering a list of objects.
    managedBy Map<String,String>
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.
    config AiGatewayAuthStrategyKeyAuthConfig
    createdAt string
    An ISO-8601 timestamp representation of entity creation date.
    displayName string
    The display name for this auth strategy instance. Not Null
    id string
    Contains a unique identifier used for this resource.
    labels {[key: string]: string}
    Public labels store information about an entity that can be used for filtering a list of objects.
    managedBy {[key: string]: string}
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt string
    An ISO-8601 timestamp representation of entity update date.
    config AiGatewayAuthStrategyKeyAuthConfig
    created_at str
    An ISO-8601 timestamp representation of entity creation date.
    display_name str
    The display name for this auth strategy instance. Not Null
    id str
    Contains a unique identifier used for this resource.
    labels Mapping[str, str]
    Public labels store information about an entity that can be used for filtering a list of objects.
    managed_by Mapping[str, str]
    name str
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updated_at str
    An ISO-8601 timestamp representation of entity update date.
    config Property Map
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance. Not Null
    id String
    Contains a unique identifier used for this resource.
    labels Map<String>
    Public labels store information about an entity that can be used for filtering a list of objects.
    managedBy Map<String>
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.

    AiGatewayAuthStrategyKeyAuthConfig, AiGatewayAuthStrategyKeyAuthConfigArgs

    Anonymous string
    An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure 4xx.
    HideCredentials bool
    An optional boolean value telling the plugin to show or hide the credential from the upstream service. If true, the plugin strips the credential from the request. Default: true
    IdentityRealms List<AiGatewayAuthStrategyKeyAuthConfigIdentityRealm>
    A configuration of Konnect Identity Realms that indicate where to source a consumer from.
    KeyInBody bool
    If enabled, the plugin reads the request body. Supported MIME types: application/www-form-urlencoded, application/json, and multipart/form-data. Default: false
    KeyInHeader bool
    If enabled (default), the plugin reads the request header and tries to find the key in it. Default: true
    KeyInQuery bool
    If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. Default: true
    KeyNames List<string>
    Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. Default: ["apikey"]
    Principals AiGatewayAuthStrategyKeyAuthConfigPrincipals
    Realm string
    When authentication fails the plugin sends WWW-Authenticate header with realm attribute value.
    RunOnPreflight bool
    A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests are always allowed. Default: true
    Anonymous string
    An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure 4xx.
    HideCredentials bool
    An optional boolean value telling the plugin to show or hide the credential from the upstream service. If true, the plugin strips the credential from the request. Default: true
    IdentityRealms []AiGatewayAuthStrategyKeyAuthConfigIdentityRealm
    A configuration of Konnect Identity Realms that indicate where to source a consumer from.
    KeyInBody bool
    If enabled, the plugin reads the request body. Supported MIME types: application/www-form-urlencoded, application/json, and multipart/form-data. Default: false
    KeyInHeader bool
    If enabled (default), the plugin reads the request header and tries to find the key in it. Default: true
    KeyInQuery bool
    If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. Default: true
    KeyNames []string
    Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. Default: ["apikey"]
    Principals AiGatewayAuthStrategyKeyAuthConfigPrincipals
    Realm string
    When authentication fails the plugin sends WWW-Authenticate header with realm attribute value.
    RunOnPreflight bool
    A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests are always allowed. Default: true
    anonymous string
    An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure 4xx.
    hide_credentials bool
    An optional boolean value telling the plugin to show or hide the credential from the upstream service. If true, the plugin strips the credential from the request. Default: true
    identity_realms list(object)
    A configuration of Konnect Identity Realms that indicate where to source a consumer from.
    key_in_body bool
    If enabled, the plugin reads the request body. Supported MIME types: application/www-form-urlencoded, application/json, and multipart/form-data. Default: false
    key_in_header bool
    If enabled (default), the plugin reads the request header and tries to find the key in it. Default: true
    key_in_query bool
    If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. Default: true
    key_names list(string)
    Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. Default: ["apikey"]
    principals object
    realm string
    When authentication fails the plugin sends WWW-Authenticate header with realm attribute value.
    run_on_preflight bool
    A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests are always allowed. Default: true
    anonymous String
    An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure 4xx.
    hideCredentials Boolean
    An optional boolean value telling the plugin to show or hide the credential from the upstream service. If true, the plugin strips the credential from the request. Default: true
    identityRealms List<AiGatewayAuthStrategyKeyAuthConfigIdentityRealm>
    A configuration of Konnect Identity Realms that indicate where to source a consumer from.
    keyInBody Boolean
    If enabled, the plugin reads the request body. Supported MIME types: application/www-form-urlencoded, application/json, and multipart/form-data. Default: false
    keyInHeader Boolean
    If enabled (default), the plugin reads the request header and tries to find the key in it. Default: true
    keyInQuery Boolean
    If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. Default: true
    keyNames List<String>
    Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. Default: ["apikey"]
    principals AiGatewayAuthStrategyKeyAuthConfigPrincipals
    realm String
    When authentication fails the plugin sends WWW-Authenticate header with realm attribute value.
    runOnPreflight Boolean
    A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests are always allowed. Default: true
    anonymous string
    An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure 4xx.
    hideCredentials boolean
    An optional boolean value telling the plugin to show or hide the credential from the upstream service. If true, the plugin strips the credential from the request. Default: true
    identityRealms AiGatewayAuthStrategyKeyAuthConfigIdentityRealm[]
    A configuration of Konnect Identity Realms that indicate where to source a consumer from.
    keyInBody boolean
    If enabled, the plugin reads the request body. Supported MIME types: application/www-form-urlencoded, application/json, and multipart/form-data. Default: false
    keyInHeader boolean
    If enabled (default), the plugin reads the request header and tries to find the key in it. Default: true
    keyInQuery boolean
    If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. Default: true
    keyNames string[]
    Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. Default: ["apikey"]
    principals AiGatewayAuthStrategyKeyAuthConfigPrincipals
    realm string
    When authentication fails the plugin sends WWW-Authenticate header with realm attribute value.
    runOnPreflight boolean
    A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests are always allowed. Default: true
    anonymous str
    An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure 4xx.
    hide_credentials bool
    An optional boolean value telling the plugin to show or hide the credential from the upstream service. If true, the plugin strips the credential from the request. Default: true
    identity_realms Sequence[AiGatewayAuthStrategyKeyAuthConfigIdentityRealm]
    A configuration of Konnect Identity Realms that indicate where to source a consumer from.
    key_in_body bool
    If enabled, the plugin reads the request body. Supported MIME types: application/www-form-urlencoded, application/json, and multipart/form-data. Default: false
    key_in_header bool
    If enabled (default), the plugin reads the request header and tries to find the key in it. Default: true
    key_in_query bool
    If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. Default: true
    key_names Sequence[str]
    Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. Default: ["apikey"]
    principals AiGatewayAuthStrategyKeyAuthConfigPrincipals
    realm str
    When authentication fails the plugin sends WWW-Authenticate header with realm attribute value.
    run_on_preflight bool
    A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests are always allowed. Default: true
    anonymous String
    An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure 4xx.
    hideCredentials Boolean
    An optional boolean value telling the plugin to show or hide the credential from the upstream service. If true, the plugin strips the credential from the request. Default: true
    identityRealms List<Property Map>
    A configuration of Konnect Identity Realms that indicate where to source a consumer from.
    keyInBody Boolean
    If enabled, the plugin reads the request body. Supported MIME types: application/www-form-urlencoded, application/json, and multipart/form-data. Default: false
    keyInHeader Boolean
    If enabled (default), the plugin reads the request header and tries to find the key in it. Default: true
    keyInQuery Boolean
    If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. Default: true
    keyNames List<String>
    Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. Default: ["apikey"]
    principals Property Map
    realm String
    When authentication fails the plugin sends WWW-Authenticate header with realm attribute value.
    runOnPreflight Boolean
    A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests are always allowed. Default: true

    AiGatewayAuthStrategyKeyAuthConfigIdentityRealm, AiGatewayAuthStrategyKeyAuthConfigIdentityRealmArgs

    Id string
    A string representing a UUID (universally unique identifier).
    Region string
    Scope string
    possible known values include one of ["cp", "realm"]; Default: "cp"
    Id string
    A string representing a UUID (universally unique identifier).
    Region string
    Scope string
    possible known values include one of ["cp", "realm"]; Default: "cp"
    id string
    A string representing a UUID (universally unique identifier).
    region string
    scope string
    possible known values include one of ["cp", "realm"]; Default: "cp"
    id String
    A string representing a UUID (universally unique identifier).
    region String
    scope String
    possible known values include one of ["cp", "realm"]; Default: "cp"
    id string
    A string representing a UUID (universally unique identifier).
    region string
    scope string
    possible known values include one of ["cp", "realm"]; Default: "cp"
    id str
    A string representing a UUID (universally unique identifier).
    region str
    scope str
    possible known values include one of ["cp", "realm"]; Default: "cp"
    id String
    A string representing a UUID (universally unique identifier).
    region String
    scope String
    possible known values include one of ["cp", "realm"]; Default: "cp"

    AiGatewayAuthStrategyKeyAuthConfigPrincipals, AiGatewayAuthStrategyKeyAuthConfigPrincipalsArgs

    Directory string
    The Kong Identity directory instance to authenticate against. Default: "default"
    Enabled bool
    When true, authenticate against Kong Identity instead of local credentials. Default: false
    ErrorOnMiss bool
    When true (default), return 401 if no matching principal is found in Kong Identity. When false, allow the request to continue unauthenticated instead. Default: true
    Directory string
    The Kong Identity directory instance to authenticate against. Default: "default"
    Enabled bool
    When true, authenticate against Kong Identity instead of local credentials. Default: false
    ErrorOnMiss bool
    When true (default), return 401 if no matching principal is found in Kong Identity. When false, allow the request to continue unauthenticated instead. Default: true
    directory string
    The Kong Identity directory instance to authenticate against. Default: "default"
    enabled bool
    When true, authenticate against Kong Identity instead of local credentials. Default: false
    error_on_miss bool
    When true (default), return 401 if no matching principal is found in Kong Identity. When false, allow the request to continue unauthenticated instead. Default: true
    directory String
    The Kong Identity directory instance to authenticate against. Default: "default"
    enabled Boolean
    When true, authenticate against Kong Identity instead of local credentials. Default: false
    errorOnMiss Boolean
    When true (default), return 401 if no matching principal is found in Kong Identity. When false, allow the request to continue unauthenticated instead. Default: true
    directory string
    The Kong Identity directory instance to authenticate against. Default: "default"
    enabled boolean
    When true, authenticate against Kong Identity instead of local credentials. Default: false
    errorOnMiss boolean
    When true (default), return 401 if no matching principal is found in Kong Identity. When false, allow the request to continue unauthenticated instead. Default: true
    directory str
    The Kong Identity directory instance to authenticate against. Default: "default"
    enabled bool
    When true, authenticate against Kong Identity instead of local credentials. Default: false
    error_on_miss bool
    When true (default), return 401 if no matching principal is found in Kong Identity. When false, allow the request to continue unauthenticated instead. Default: true
    directory String
    The Kong Identity directory instance to authenticate against. Default: "default"
    enabled Boolean
    When true, authenticate against Kong Identity instead of local credentials. Default: false
    errorOnMiss Boolean
    When true (default), return 401 if no matching principal is found in Kong Identity. When false, allow the request to continue unauthenticated instead. Default: true

    AiGatewayAuthStrategyOpenidConnect, AiGatewayAuthStrategyOpenidConnectArgs

    Config AiGatewayAuthStrategyOpenidConnectConfig
    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance. Not Null
    Id string
    Contains a unique identifier used for this resource.
    Labels Dictionary<string, string>
    Public labels store information about an entity that can be used for filtering a list of objects.
    ManagedBy Dictionary<string, string>
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    Config AiGatewayAuthStrategyOpenidConnectConfig
    CreatedAt string
    An ISO-8601 timestamp representation of entity creation date.
    DisplayName string
    The display name for this auth strategy instance. Not Null
    Id string
    Contains a unique identifier used for this resource.
    Labels map[string]string
    Public labels store information about an entity that can be used for filtering a list of objects.
    ManagedBy map[string]string
    Name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    UpdatedAt string
    An ISO-8601 timestamp representation of entity update date.
    config object
    created_at string
    An ISO-8601 timestamp representation of entity creation date.
    display_name string
    The display name for this auth strategy instance. Not Null
    id string
    Contains a unique identifier used for this resource.
    labels map(string)
    Public labels store information about an entity that can be used for filtering a list of objects.
    managed_by map(string)
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updated_at string
    An ISO-8601 timestamp representation of entity update date.
    config AiGatewayAuthStrategyOpenidConnectConfig
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance. Not Null
    id String
    Contains a unique identifier used for this resource.
    labels Map<String,String>
    Public labels store information about an entity that can be used for filtering a list of objects.
    managedBy Map<String,String>
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.
    config AiGatewayAuthStrategyOpenidConnectConfig
    createdAt string
    An ISO-8601 timestamp representation of entity creation date.
    displayName string
    The display name for this auth strategy instance. Not Null
    id string
    Contains a unique identifier used for this resource.
    labels {[key: string]: string}
    Public labels store information about an entity that can be used for filtering a list of objects.
    managedBy {[key: string]: string}
    name string
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt string
    An ISO-8601 timestamp representation of entity update date.
    config AiGatewayAuthStrategyOpenidConnectConfig
    created_at str
    An ISO-8601 timestamp representation of entity creation date.
    display_name str
    The display name for this auth strategy instance. Not Null
    id str
    Contains a unique identifier used for this resource.
    labels Mapping[str, str]
    Public labels store information about an entity that can be used for filtering a list of objects.
    managed_by Mapping[str, str]
    name str
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updated_at str
    An ISO-8601 timestamp representation of entity update date.
    config Property Map
    createdAt String
    An ISO-8601 timestamp representation of entity creation date.
    displayName String
    The display name for this auth strategy instance. Not Null
    id String
    Contains a unique identifier used for this resource.
    labels Map<String>
    Public labels store information about an entity that can be used for filtering a list of objects.
    managedBy Map<String>
    name String
    A user-defined unique identifier for this auth strategy instance, used as a stable human-readable reference. This value is immutable after creation.
    updatedAt String
    An ISO-8601 timestamp representation of entity update date.

    AiGatewayAuthStrategyOpenidConnectConfig, AiGatewayAuthStrategyOpenidConnectConfigArgs

    Anonymous string
    An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a 4xx HTTP status code. This value must refer to the consumer id or username attribute, and not its custom_id.
    AudienceClaims List<string>
    The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["aud"]
    AudienceRequireds List<string>
    The audiences (audience_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    Audiences List<string>
    The audience passed to the authorization endpoint.
    AuthMethods List<string>
    Types of credentials/grants to enable. Default: ["authorizationcode","bearer","clientcredentials","introspection","kongoauth2","password","refreshtoken","session","userinfo"]
    AuthenticatedGroupsClaims List<string>
    The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload.
    AuthorizationCookieDomain string
    The authorization cookie Domain flag.
    AuthorizationCookieHttpOnly bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    AuthorizationCookieName string
    The authorization cookie name. Default: "authorization"
    AuthorizationCookiePath string
    The authorization cookie Path flag. Default: "/"
    AuthorizationCookieSameSite string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Default"
    AuthorizationCookieSecure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    AuthorizationEndpoint string
    The authorization endpoint. If set it overrides the value in authorization_endpoint returned by the discovery endpoint.
    AuthorizationQueryArgsClients List<string>
    Extra query arguments passed from the client to the authorization endpoint.
    AuthorizationQueryArgsNames List<string>
    Extra query argument names passed to the authorization endpoint.
    AuthorizationQueryArgsValues List<string>
    Extra query argument values passed to the authorization endpoint.
    AuthorizationRollingTimeout double
    Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 600
    BearerTokenCookieName string
    The name of the cookie in which the bearer token is passed.
    BearerTokenParamTypes List<string>
    Where to look for the bearer token: - header: search the Authorization, access-token, and x-access-token HTTP headers - query: search the URL's query string - body: search the HTTP request body - cookie: search the HTTP request cookies specified with config.bearer_token_cookie_name. Default: ["body","header","query"]
    ByUsernameIgnoreCase bool
    If consumer_by is set to username, specify whether username can match consumers case-insensitively. Default: false
    CacheIntrospection bool
    Cache the introspection endpoint requests. Default: true
    CacheTokenExchange bool
    Cache the legacy token exchange endpoint requests. Default: true
    CacheTokens bool
    Cache the token endpoint requests. Default: true
    CacheTokensSalt string
    Salt used for generating the cache key that is used for caching the token endpoint requests.
    CacheTtl double
    The default cache ttl in seconds that is used in case the cached object does not specify the expiry. Default: 3600
    CacheTtlMax double
    The maximum cache ttl in seconds (enforced).
    CacheTtlMin double
    The minimum cache ttl in seconds (enforced).
    CacheTtlNeg double
    The negative cache ttl in seconds.
    CacheTtlResurrect double
    The resurrection ttl in seconds.
    CacheUserInfo bool
    Cache the user info requests. Default: true
    ClaimsForbiddens List<string>
    If given, these claims are forbidden in the token payload.
    ClientAlgs List<string>
    The algorithm to use for clientsecretjwt (only HS***) or private*key*jwt authentication.
    ClientArg string
    The client to use for this request (the selection is made with a request parameter with the same name). Default: "client_id"
    ClientAuths List<string>
    The default OpenID Connect client authentication method is 'clientsecretbasic' (using 'Authorization: Basic' header), 'clientsecretpost' (credentials in body), 'clientsecretjwt' (signed client assertion in body), 'privatekeyjwt' (private key-signed assertion), 'tlsclientauth' (client certificate), 'selfsignedtlsclientauth' (self-signed client certificate), and 'none' (no authentication).
    ClientCredentialsParamTypes List<string>
    Where to look for the client credentials: - header: search the HTTP headers - query: search the URL's query string - body: search from the HTTP request body. Default: ["body","header","query"]
    ClientIds List<string>
    The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider.
    ClientJwks List<AiGatewayAuthStrategyOpenidConnectConfigClientJwk>
    The JWK used for the privatekeyjwt authentication.
    ClientSecrets List<string>
    The client secret.
    ClusterCacheRedis AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedis
    ClusterCacheStrategy string
    The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared. possible known values include one of ["off", "redis"]; Default: "off"
    ConsumerBies List<string>
    Consumer fields used for mapping: - id: try to find the matching Consumer by id - username: try to find the matching Consumer by username - custom_id: try to find the matching Consumer by custom_id. Default: ["custom_id","username"]
    ConsumerClaims List<ImmutableArray<string>>
    The claims used for consumer mapping. Each entry represents a claim path inside the token payload. The paths are evaluated in order, and the first matching claim is used.
    ConsumerGroupsClaims List<string>
    The claim used for consumer groups mapping. If multiple values are set, it means the claim is inside a nested object of the token payload.
    ConsumerGroupsOptional bool
    Do not terminate the request if consumer groups mapping fails. Default: false
    ConsumerOptional bool
    Do not terminate the request if consumer mapping fails. Default: false
    CredentialClaims List<string>
    The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["sub"]
    DisableSessions List<string>
    Disable issuing the session cookie with the specified grants.
    DiscoveryHeadersNames List<string>
    Extra header names passed to the discovery endpoint.
    DiscoveryHeadersValues List<string>
    Extra header values passed to the discovery endpoint.
    DisplayErrors bool
    Display errors on failure responses. Default: false
    Domains List<string>
    The allowed values for the hd claim.
    DownstreamAccessTokenHeader string
    The downstream access token header.
    DownstreamAccessTokenJwkHeader string
    The downstream access token JWK header.
    DownstreamHeaders List<AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeader>
    The downstream claim to header mappings.
    DownstreamHeadersClaims List<string>
    The downstream header claims. Only top level claims are supported.
    DownstreamHeadersNames List<string>
    The downstream header names for the claim values.
    DownstreamIdTokenHeader string
    The downstream id token header.
    DownstreamIdTokenJwkHeader string
    The downstream id token JWK header.
    DownstreamIntrospectionHeader string
    The downstream introspection header.
    DownstreamIntrospectionJwtHeader string
    The downstream introspection JWT header.
    DownstreamRefreshTokenHeader string
    The downstream refresh token header.
    DownstreamSessionIdHeader string
    The downstream session id header.
    DownstreamUserInfoHeader string
    The downstream user info header.
    DownstreamUserInfoJwtHeader string
    The downstream user info JWT header (in case the user info returns a JWT response).
    DpopProofLifetime double
    Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. Default: 300
    DpopUseNonce bool
    Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. Default: false
    EnableHsSignatures bool
    Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). Default: false
    EndSessionEndpoint string
    The end session endpoint. If set it overrides the value in end_session_endpoint returned by the discovery endpoint.
    ExposeErrorCode bool
    Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to false to disable. Default: true
    ExtraJwksUris List<string>
    JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery).
    ForbiddenDestroySession bool
    Destroy any active session for the forbidden requests. Default: true
    ForbiddenErrorMessage string
    The error message for the forbidden requests (when not using the redirection). Default: "Forbidden"
    ForbiddenRedirectUris List<string>
    Where to redirect the client on forbidden requests.
    GroupsClaims List<string>
    The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["groups"]
    GroupsRequireds List<string>
    The groups (groups_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    HideCredentials bool
    Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. Default: true
    HttpProxy string
    The HTTP proxy.
    HttpProxyAuthorization string
    The HTTP proxy authorization.
    HttpVersion double
    The HTTP version used for the requests by this plugin: - 1.1: HTTP 1.1 (the default) - 1.0: HTTP 1.0.
    HttpsProxy string
    The HTTPS proxy.
    HttpsProxyAuthorization string
    The HTTPS proxy authorization.
    IdTokenParamName string
    The name of the parameter used to pass the id token.
    IdTokenParamTypes List<string>
    Where to look for the id token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    IgnoreSignatures List<string>
    Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - password: OAuth password grant - client_credentials: OAuth client credentials grant - authorization_code: authorization code flow - refresh_token: OAuth refresh token grant - session: session cookie authentication - introspection: OAuth introspection - userinfo: OpenID Connect user info endpoint authentication. Default: []
    IntrospectJwtTokens bool
    Specifies whether to introspect the JWT access tokens (can be used to check for revocations). Default: false
    IntrospectionAccept string
    The value of Accept header for introspection requests: - application/json: introspection response as JSON - application/token-introspection+jwt: introspection response as JWT (from the current IETF draft document) - application/jwt: introspection response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt", "application/token-introspection+jwt"]; Default: "application/json"
    IntrospectionCheckActive bool
    Check that the introspection response has an active claim with a value of true. Default: true
    IntrospectionEndpoint string
    The introspection endpoint. If set it overrides the value in introspection_endpoint returned by the discovery endpoint.
    IntrospectionEndpointAuthMethod string
    The introspection endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["clientsecretbasic", "clientsecretjwt", "clientsecretpost", "none", "privatekeyjwt", "selfsignedtlsclientauth", "tlsclientauth"]
    IntrospectionHeadersClients List<string>
    Extra headers passed from the client to the introspection endpoint.
    IntrospectionHeadersNames List<string>
    Extra header names passed to the introspection endpoint.
    IntrospectionHeadersValues List<string>
    Extra header values passed to the introspection endpoint.
    IntrospectionHint string
    Introspection hint parameter value passed to the introspection endpoint. Default: "access_token"
    IntrospectionPostArgsClientHeaders List<string>
    Extra post arguments passed from the client headers to the introspection endpoint.
    IntrospectionPostArgsClients List<string>
    Extra post arguments passed from the client to the introspection endpoint.
    IntrospectionPostArgsNames List<string>
    Extra post argument names passed to the introspection endpoint.
    IntrospectionPostArgsValues List<string>
    Extra post argument values passed to the introspection endpoint.
    IntrospectionTokenParamName string
    Designate token's parameter name for introspection. Default: "token"
    Issuer string
    The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure config.using_pseudo_issuer=true. Not Null
    IssuersAlloweds List<string>
    The issuers allowed to be present in the tokens (iss claim).
    JwksEndpoint string
    Overrides the jwks_uri returned by discovery. Use when the IdP exposes a non-standard JWKS endpoint.
    JwtSessionClaim string
    The claim to match against the JWT session cookie. Default: "sid"
    JwtSessionCookie string
    The name of the JWT session cookie.
    Keepalive bool
    Use keepalive with the HTTP client. Default: true
    Leeway double
    Defines leeway time (in seconds) for auth_time, exp, iat, and nbf claims. Default: 0
    LoginAction string
    What to do after successful login: - upstream: proxy request to upstream service - response: terminate request with a response - redirect: redirect to a different location. possible known values include one of ["redirect", "response", "upstream"]; Default: "upstream"
    LoginMethods List<string>
    Enable login functionality with specified grants. Default: ["authorization_code"]
    LoginRedirectMode string
    Where to place login_tokens when using redirect login_action: - query: place tokens in query string - fragment: place tokens in url fragment (not readable by servers). possible known values include one of ["fragment", "query"]; Default: "fragment"
    LoginRedirectUris List<string>
    Where to redirect the client when login_action is set to redirect.
    LoginTokens List<string>
    What tokens to include in response body or redirect query string or fragment: - id_token: include id token - access_token: include access token - refresh_token: include refresh token - tokens: include the full token endpoint response - introspection: include introspection response. Default: ["id_token"]
    LogoutMethods List<string>
    The request methods that can activate the logout: - POST: HTTP POST method - GET: HTTP GET method - DELETE: HTTP DELETE method. Default: ["DELETE","POST"]
    LogoutPostArg string
    The request body argument that activates the logout.
    LogoutQueryArg string
    The request query argument that activates the logout.
    LogoutRedirectUris List<string>
    Where to redirect the client after the logout.
    LogoutRevoke bool
    Revoke tokens as part of the logout.
    LogoutRevokeAccessToken bool
    Revoke the access token as part of the logout. Requires logout_revoke to be set to true. Default: true
    LogoutRevokeRefreshToken bool
    Revoke the refresh token as part of the logout. Requires logout_revoke to be set to true. Default: true
    LogoutUriSuffix string
    The request URI suffix that activates the logout.
    MaxAge double
    The maximum age (in seconds) compared to the auth_time claim.
    MtlsIntrospectionEndpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    MtlsRevocationEndpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    MtlsTokenEndpoint string
    Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    NoProxy string
    Do not use proxy with these hosts.
    PasswordParamTypes List<string>
    Where to look for the username and password: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    PreserveQueryArgs bool
    With this parameter, you can preserve request query arguments even when doing authorization code flow. Default: false
    Principals AiGatewayAuthStrategyOpenidConnectConfigPrincipals
    Configuration for Kong Identity principal hydration after token verification.
    ProofOfPossessionAuthMethodsValidation bool
    If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. Default: true
    ProofOfPossessionDpop string
    Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    ProofOfPossessionMtls string
    Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    PushedAuthorizationRequestEndpoint string
    The pushed authorization endpoint. If set it overrides the value in pushed_authorization_request_endpoint returned by the discovery endpoint.
    PushedAuthorizationRequestEndpointAuthMethod string
    The pushed authorization request endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    RedirectUris List<string>
    The redirect URI passed to the authorization and token endpoints.
    Redis AiGatewayAuthStrategyOpenidConnectConfigRedis
    RediscoveryLifetime double
    Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. Default: 30
    RefreshTokenParamName string
    The name of the parameter used to pass the refresh token.
    RefreshTokenParamTypes List<string>
    Where to look for the refresh token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    RefreshTokens bool
    Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a refresh_token available. Default: true
    RequireProofKeyForCodeExchange bool
    Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of code_challenge_methods_supported, and enabled automatically (in case the code_challenge_methods_supported is missing, the PKCE will not be enabled).
    RequirePushedAuthorizationRequests bool
    Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of require_pushed_authorization_requests (which defaults to false).
    RequireSignedRequestObject bool
    Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of require_signed_request_object, and enabled automatically (in case the require_signed_request_object is missing, the feature will not be enabled).
    ResolveDistributedClaims bool
    Distributed claims are represented by the _claim_names and _claim_sources members of the JSON object containing the claims. If this parameter is set to true, the plugin explicitly resolves these distributed claims. Default: false
    ResponseMode string
    Response mode passed to the authorization endpoint: - query: for parameters in query string - form_post: for parameters in request body - fragment: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - query.jwt, form_post.jwt, fragment.jwt: similar to query, form_post and fragment but the parameters are encoded in a JWT - jwt: shortcut that indicates the default encoding for the requested response type. possible known values include one of ["form_post", "form_post.jwt", "fragment", "fragment.jwt", "jwt", "query", "query.jwt"]; Default: "query"
    ResponseTypes List<string>
    The response type passed to the authorization endpoint. Default: ["code"]
    Reverify bool
    Specifies whether to always verify tokens stored in the session. Default: false
    RevocationEndpoint string
    The revocation endpoint. If set it overrides the value in revocation_endpoint returned by the discovery endpoint.
    RevocationEndpointAuthMethod string
    The revocation endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    RevocationTokenParamName string
    Designate token's parameter name for revocation. Default: "token"
    RolesClaims List<string>
    The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["roles"]
    RolesRequireds List<string>
    The roles (roles_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    RunOnPreflight bool
    Specifies whether to run this plugin on pre-flight (OPTIONS) requests. Default: true
    Scopes List<string>
    The scopes passed to the authorization and token endpoints. Default: ["openid"]
    ScopesClaims List<string>
    The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["scope"]
    ScopesRequireds List<string>
    The scopes (scopes_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    SearchUserInfo bool
    Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. Default: false
    SessionAbsoluteTimeout double
    Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 86400
    SessionAudience string
    The session audience, which is the intended target application. For example "my-application". Default: "default"
    SessionBinds List<string>
    Bind the session to data acquired from the HTTP request or connection.
    SessionCookieDomain string
    The session cookie Domain flag.
    SessionCookieHttpOnly bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    SessionCookieName string
    The session cookie name. Default: "session"
    SessionCookiePath string
    The session cookie Path flag. Default: "/"
    SessionCookieSameSite string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Lax"
    SessionCookieSecure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    SessionEnforceSameSubject bool
    When set to true, audiences are forced to share the same subject. Default: false
    SessionHashStorageKey bool
    When set to true, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. Default: false
    SessionHashSubject bool
    When set to true, the value of subject is hashed before being stored. Only applies when session_store_metadata is enabled. Default: false
    SessionIdlingTimeout double
    Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. Default: 900
    SessionMemcachedHost string
    The memcached host. Default: "127.0.0.1"
    SessionMemcachedPort double
    The memcached port. Default: 11211
    SessionMemcachedPrefix string
    The memcached session key prefix.
    SessionMemcachedSocket string
    The memcached unix socket path.
    SessionMemcachedSsl bool
    If set to true, uses SSL to connect to memcached
    SessionMemcachedSslVerify bool
    If set to true, verifies the validity of the memcached server SSL certificate. Default: true
    SessionRemember bool
    Enables or disables persistent sessions. Default: false
    SessionRememberAbsoluteTimeout double
    Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 2592000
    SessionRememberCookieName string
    Persistent session cookie name. Use with the remember configuration parameter. Default: "remember"
    SessionRememberRollingTimeout double
    Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. Default: 604800
    SessionRequestHeaders List<string>
    Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout request headers.
    SessionResponseHeaders List<string>
    Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout response headers.
    SessionRollingTimeout double
    Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 3600
    SessionSecret string
    The session secret.
    SessionStorage string
    The session storage for session data: - cookie: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn't require a database) - memcache: stores session data in memcached - redis: stores session data in Redis. possible known values include one of ["cookie", "memcache", "memcached", "redis"]; Default: "cookie"
    SessionStoreMetadata bool
    Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. Default: false
    SslVerify bool
    Verify identity provider server certificate. If set to true, the plugin uses the CA certificate set in the kong.conf config parameter lua_ssl_trusted_certificate. Default: true
    Timeout double
    Network IO timeout in milliseconds. Default: 10000
    TlsClientAuthCertId string
    ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server.
    TlsClientAuthSslVerify bool
    Verify identity provider server certificate during mTLS client authentication. Default: true
    TokenCacheKeyIncludeScope bool
    Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. Default: false
    TokenEndpoint string
    The token endpoint. If set it overrides the value in token_endpoint returned by the discovery endpoint.
    TokenEndpointAuthMethod string
    The token endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    TokenExchange AiGatewayAuthStrategyOpenidConnectConfigTokenExchange
    Details on how to accept tokens from other identity providers.
    TokenExchangeEndpoint string
    Endpoint used to perform the legacy token exchange.
    TokenHeadersClients List<string>
    Extra headers passed from the client to the token endpoint.
    TokenHeadersGrants List<string>
    Enable the sending of the token endpoint response headers only with certain grants: - password: with OAuth password grant - client_credentials: with OAuth client credentials grant - authorization_code: with authorization code flow - refresh_token with refresh token grant.
    TokenHeadersNames List<string>
    Extra header names passed to the token endpoint.
    TokenHeadersPrefix string
    Add a prefix to the token endpoint response headers before forwarding them to the downstream client.
    TokenHeadersReplays List<string>
    The names of token endpoint response headers to forward to the downstream client.
    TokenHeadersValues List<string>
    Extra header values passed to the token endpoint.
    TokenPostArgsClients List<string>
    Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with scope values, like this: config.token_post_args_client=scope In this case, the token would take the scope value from the query parameter or from the request body or from the header and send it to the token endpoint.
    TokenPostArgsNames List<string>
    Extra post argument names passed to the token endpoint.
    TokenPostArgsValues List<string>
    Extra post argument values passed to the token endpoint.
    UnauthorizedDestroySession bool
    Destroy any active session for the unauthorized requests. Default: true
    UnauthorizedErrorMessage string
    The error message for the unauthorized requests (when not using the redirection). Default: "Unauthorized"
    UnauthorizedRedirectUris List<string>
    Where to redirect the client on unauthorized requests.
    UnexpectedRedirectUris List<string>
    Where to redirect the client when unexpected errors happen with the requests.
    UpstreamAccessTokenHeader string
    The upstream access token header. Default: "authorization:bearer"
    UpstreamAccessTokenJwkHeader string
    The upstream access token JWK header.
    UpstreamHeaders List<AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeader>
    The upstream claim to header mappings.
    UpstreamHeadersClaims List<string>
    The upstream header claims. Only top level claims are supported.
    UpstreamHeadersNames List<string>
    The upstream header names for the claim values.
    UpstreamIdTokenHeader string
    The upstream id token header.
    UpstreamIdTokenJwkHeader string
    The upstream id token JWK header.
    UpstreamIntrospectionHeader string
    The upstream introspection header.
    UpstreamIntrospectionJwtHeader string
    The upstream introspection JWT header.
    UpstreamRefreshTokenHeader string
    The upstream refresh token header.
    UpstreamSessionIdHeader string
    The upstream session id header.
    UpstreamUserInfoHeader string
    The upstream user info header.
    UpstreamUserInfoJwtHeader string
    The upstream user info JWT header (in case the user info returns a JWT response).
    UserinfoAccept string
    The value of Accept header for user info requests: - application/json: user info response as JSON - application/jwt: user info response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt"]; Default: "application/json"
    UserinfoEndpoint string
    The user info endpoint. If set it overrides the value in userinfo_endpoint returned by the discovery endpoint.
    UserinfoHeadersClients List<string>
    Extra headers passed from the client to the user info endpoint.
    UserinfoHeadersNames List<string>
    Extra header names passed to the user info endpoint.
    UserinfoHeadersValues List<string>
    Extra header values passed to the user info endpoint.
    UserinfoQueryArgsClients List<string>
    Extra query arguments passed from the client to the user info endpoint.
    UserinfoQueryArgsNames List<string>
    Extra query argument names passed to the user info endpoint.
    UserinfoQueryArgsValues List<string>
    Extra query argument values passed to the user info endpoint.
    UsingPseudoIssuer bool
    If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with config.issuer. Default: false
    VerifyClaims bool
    Verify tokens for standard claims. Default: true
    VerifyNonce bool
    Verify nonce on authorization code flow. Default: true
    VerifyParameters bool
    Verify plugin configuration against discovery. Default: false
    VerifySignature bool
    Verify signature of tokens. Default: true
    Anonymous string
    An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a 4xx HTTP status code. This value must refer to the consumer id or username attribute, and not its custom_id.
    AudienceClaims []string
    The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["aud"]
    AudienceRequireds []string
    The audiences (audience_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    Audiences []string
    The audience passed to the authorization endpoint.
    AuthMethods []string
    Types of credentials/grants to enable. Default: ["authorizationcode","bearer","clientcredentials","introspection","kongoauth2","password","refreshtoken","session","userinfo"]
    AuthenticatedGroupsClaims []string
    The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload.
    AuthorizationCookieDomain string
    The authorization cookie Domain flag.
    AuthorizationCookieHttpOnly bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    AuthorizationCookieName string
    The authorization cookie name. Default: "authorization"
    AuthorizationCookiePath string
    The authorization cookie Path flag. Default: "/"
    AuthorizationCookieSameSite string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Default"
    AuthorizationCookieSecure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    AuthorizationEndpoint string
    The authorization endpoint. If set it overrides the value in authorization_endpoint returned by the discovery endpoint.
    AuthorizationQueryArgsClients []string
    Extra query arguments passed from the client to the authorization endpoint.
    AuthorizationQueryArgsNames []string
    Extra query argument names passed to the authorization endpoint.
    AuthorizationQueryArgsValues []string
    Extra query argument values passed to the authorization endpoint.
    AuthorizationRollingTimeout float64
    Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 600
    BearerTokenCookieName string
    The name of the cookie in which the bearer token is passed.
    BearerTokenParamTypes []string
    Where to look for the bearer token: - header: search the Authorization, access-token, and x-access-token HTTP headers - query: search the URL's query string - body: search the HTTP request body - cookie: search the HTTP request cookies specified with config.bearer_token_cookie_name. Default: ["body","header","query"]
    ByUsernameIgnoreCase bool
    If consumer_by is set to username, specify whether username can match consumers case-insensitively. Default: false
    CacheIntrospection bool
    Cache the introspection endpoint requests. Default: true
    CacheTokenExchange bool
    Cache the legacy token exchange endpoint requests. Default: true
    CacheTokens bool
    Cache the token endpoint requests. Default: true
    CacheTokensSalt string
    Salt used for generating the cache key that is used for caching the token endpoint requests.
    CacheTtl float64
    The default cache ttl in seconds that is used in case the cached object does not specify the expiry. Default: 3600
    CacheTtlMax float64
    The maximum cache ttl in seconds (enforced).
    CacheTtlMin float64
    The minimum cache ttl in seconds (enforced).
    CacheTtlNeg float64
    The negative cache ttl in seconds.
    CacheTtlResurrect float64
    The resurrection ttl in seconds.
    CacheUserInfo bool
    Cache the user info requests. Default: true
    ClaimsForbiddens []string
    If given, these claims are forbidden in the token payload.
    ClientAlgs []string
    The algorithm to use for clientsecretjwt (only HS***) or private*key*jwt authentication.
    ClientArg string
    The client to use for this request (the selection is made with a request parameter with the same name). Default: "client_id"
    ClientAuths []string
    The default OpenID Connect client authentication method is 'clientsecretbasic' (using 'Authorization: Basic' header), 'clientsecretpost' (credentials in body), 'clientsecretjwt' (signed client assertion in body), 'privatekeyjwt' (private key-signed assertion), 'tlsclientauth' (client certificate), 'selfsignedtlsclientauth' (self-signed client certificate), and 'none' (no authentication).
    ClientCredentialsParamTypes []string
    Where to look for the client credentials: - header: search the HTTP headers - query: search the URL's query string - body: search from the HTTP request body. Default: ["body","header","query"]
    ClientIds []string
    The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider.
    ClientJwks []AiGatewayAuthStrategyOpenidConnectConfigClientJwk
    The JWK used for the privatekeyjwt authentication.
    ClientSecrets []string
    The client secret.
    ClusterCacheRedis AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedis
    ClusterCacheStrategy string
    The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared. possible known values include one of ["off", "redis"]; Default: "off"
    ConsumerBies []string
    Consumer fields used for mapping: - id: try to find the matching Consumer by id - username: try to find the matching Consumer by username - custom_id: try to find the matching Consumer by custom_id. Default: ["custom_id","username"]
    ConsumerClaims [][]string
    The claims used for consumer mapping. Each entry represents a claim path inside the token payload. The paths are evaluated in order, and the first matching claim is used.
    ConsumerGroupsClaims []string
    The claim used for consumer groups mapping. If multiple values are set, it means the claim is inside a nested object of the token payload.
    ConsumerGroupsOptional bool
    Do not terminate the request if consumer groups mapping fails. Default: false
    ConsumerOptional bool
    Do not terminate the request if consumer mapping fails. Default: false
    CredentialClaims []string
    The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["sub"]
    DisableSessions []string
    Disable issuing the session cookie with the specified grants.
    DiscoveryHeadersNames []string
    Extra header names passed to the discovery endpoint.
    DiscoveryHeadersValues []string
    Extra header values passed to the discovery endpoint.
    DisplayErrors bool
    Display errors on failure responses. Default: false
    Domains []string
    The allowed values for the hd claim.
    DownstreamAccessTokenHeader string
    The downstream access token header.
    DownstreamAccessTokenJwkHeader string
    The downstream access token JWK header.
    DownstreamHeaders []AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeader
    The downstream claim to header mappings.
    DownstreamHeadersClaims []string
    The downstream header claims. Only top level claims are supported.
    DownstreamHeadersNames []string
    The downstream header names for the claim values.
    DownstreamIdTokenHeader string
    The downstream id token header.
    DownstreamIdTokenJwkHeader string
    The downstream id token JWK header.
    DownstreamIntrospectionHeader string
    The downstream introspection header.
    DownstreamIntrospectionJwtHeader string
    The downstream introspection JWT header.
    DownstreamRefreshTokenHeader string
    The downstream refresh token header.
    DownstreamSessionIdHeader string
    The downstream session id header.
    DownstreamUserInfoHeader string
    The downstream user info header.
    DownstreamUserInfoJwtHeader string
    The downstream user info JWT header (in case the user info returns a JWT response).
    DpopProofLifetime float64
    Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. Default: 300
    DpopUseNonce bool
    Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. Default: false
    EnableHsSignatures bool
    Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). Default: false
    EndSessionEndpoint string
    The end session endpoint. If set it overrides the value in end_session_endpoint returned by the discovery endpoint.
    ExposeErrorCode bool
    Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to false to disable. Default: true
    ExtraJwksUris []string
    JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery).
    ForbiddenDestroySession bool
    Destroy any active session for the forbidden requests. Default: true
    ForbiddenErrorMessage string
    The error message for the forbidden requests (when not using the redirection). Default: "Forbidden"
    ForbiddenRedirectUris []string
    Where to redirect the client on forbidden requests.
    GroupsClaims []string
    The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["groups"]
    GroupsRequireds []string
    The groups (groups_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    HideCredentials bool
    Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. Default: true
    HttpProxy string
    The HTTP proxy.
    HttpProxyAuthorization string
    The HTTP proxy authorization.
    HttpVersion float64
    The HTTP version used for the requests by this plugin: - 1.1: HTTP 1.1 (the default) - 1.0: HTTP 1.0.
    HttpsProxy string
    The HTTPS proxy.
    HttpsProxyAuthorization string
    The HTTPS proxy authorization.
    IdTokenParamName string
    The name of the parameter used to pass the id token.
    IdTokenParamTypes []string
    Where to look for the id token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    IgnoreSignatures []string
    Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - password: OAuth password grant - client_credentials: OAuth client credentials grant - authorization_code: authorization code flow - refresh_token: OAuth refresh token grant - session: session cookie authentication - introspection: OAuth introspection - userinfo: OpenID Connect user info endpoint authentication. Default: []
    IntrospectJwtTokens bool
    Specifies whether to introspect the JWT access tokens (can be used to check for revocations). Default: false
    IntrospectionAccept string
    The value of Accept header for introspection requests: - application/json: introspection response as JSON - application/token-introspection+jwt: introspection response as JWT (from the current IETF draft document) - application/jwt: introspection response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt", "application/token-introspection+jwt"]; Default: "application/json"
    IntrospectionCheckActive bool
    Check that the introspection response has an active claim with a value of true. Default: true
    IntrospectionEndpoint string
    The introspection endpoint. If set it overrides the value in introspection_endpoint returned by the discovery endpoint.
    IntrospectionEndpointAuthMethod string
    The introspection endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["clientsecretbasic", "clientsecretjwt", "clientsecretpost", "none", "privatekeyjwt", "selfsignedtlsclientauth", "tlsclientauth"]
    IntrospectionHeadersClients []string
    Extra headers passed from the client to the introspection endpoint.
    IntrospectionHeadersNames []string
    Extra header names passed to the introspection endpoint.
    IntrospectionHeadersValues []string
    Extra header values passed to the introspection endpoint.
    IntrospectionHint string
    Introspection hint parameter value passed to the introspection endpoint. Default: "access_token"
    IntrospectionPostArgsClientHeaders []string
    Extra post arguments passed from the client headers to the introspection endpoint.
    IntrospectionPostArgsClients []string
    Extra post arguments passed from the client to the introspection endpoint.
    IntrospectionPostArgsNames []string
    Extra post argument names passed to the introspection endpoint.
    IntrospectionPostArgsValues []string
    Extra post argument values passed to the introspection endpoint.
    IntrospectionTokenParamName string
    Designate token's parameter name for introspection. Default: "token"
    Issuer string
    The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure config.using_pseudo_issuer=true. Not Null
    IssuersAlloweds []string
    The issuers allowed to be present in the tokens (iss claim).
    JwksEndpoint string
    Overrides the jwks_uri returned by discovery. Use when the IdP exposes a non-standard JWKS endpoint.
    JwtSessionClaim string
    The claim to match against the JWT session cookie. Default: "sid"
    JwtSessionCookie string
    The name of the JWT session cookie.
    Keepalive bool
    Use keepalive with the HTTP client. Default: true
    Leeway float64
    Defines leeway time (in seconds) for auth_time, exp, iat, and nbf claims. Default: 0
    LoginAction string
    What to do after successful login: - upstream: proxy request to upstream service - response: terminate request with a response - redirect: redirect to a different location. possible known values include one of ["redirect", "response", "upstream"]; Default: "upstream"
    LoginMethods []string
    Enable login functionality with specified grants. Default: ["authorization_code"]
    LoginRedirectMode string
    Where to place login_tokens when using redirect login_action: - query: place tokens in query string - fragment: place tokens in url fragment (not readable by servers). possible known values include one of ["fragment", "query"]; Default: "fragment"
    LoginRedirectUris []string
    Where to redirect the client when login_action is set to redirect.
    LoginTokens []string
    What tokens to include in response body or redirect query string or fragment: - id_token: include id token - access_token: include access token - refresh_token: include refresh token - tokens: include the full token endpoint response - introspection: include introspection response. Default: ["id_token"]
    LogoutMethods []string
    The request methods that can activate the logout: - POST: HTTP POST method - GET: HTTP GET method - DELETE: HTTP DELETE method. Default: ["DELETE","POST"]
    LogoutPostArg string
    The request body argument that activates the logout.
    LogoutQueryArg string
    The request query argument that activates the logout.
    LogoutRedirectUris []string
    Where to redirect the client after the logout.
    LogoutRevoke bool
    Revoke tokens as part of the logout.
    LogoutRevokeAccessToken bool
    Revoke the access token as part of the logout. Requires logout_revoke to be set to true. Default: true
    LogoutRevokeRefreshToken bool
    Revoke the refresh token as part of the logout. Requires logout_revoke to be set to true. Default: true
    LogoutUriSuffix string
    The request URI suffix that activates the logout.
    MaxAge float64
    The maximum age (in seconds) compared to the auth_time claim.
    MtlsIntrospectionEndpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    MtlsRevocationEndpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    MtlsTokenEndpoint string
    Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    NoProxy string
    Do not use proxy with these hosts.
    PasswordParamTypes []string
    Where to look for the username and password: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    PreserveQueryArgs bool
    With this parameter, you can preserve request query arguments even when doing authorization code flow. Default: false
    Principals AiGatewayAuthStrategyOpenidConnectConfigPrincipals
    Configuration for Kong Identity principal hydration after token verification.
    ProofOfPossessionAuthMethodsValidation bool
    If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. Default: true
    ProofOfPossessionDpop string
    Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    ProofOfPossessionMtls string
    Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    PushedAuthorizationRequestEndpoint string
    The pushed authorization endpoint. If set it overrides the value in pushed_authorization_request_endpoint returned by the discovery endpoint.
    PushedAuthorizationRequestEndpointAuthMethod string
    The pushed authorization request endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    RedirectUris []string
    The redirect URI passed to the authorization and token endpoints.
    Redis AiGatewayAuthStrategyOpenidConnectConfigRedis
    RediscoveryLifetime float64
    Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. Default: 30
    RefreshTokenParamName string
    The name of the parameter used to pass the refresh token.
    RefreshTokenParamTypes []string
    Where to look for the refresh token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    RefreshTokens bool
    Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a refresh_token available. Default: true
    RequireProofKeyForCodeExchange bool
    Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of code_challenge_methods_supported, and enabled automatically (in case the code_challenge_methods_supported is missing, the PKCE will not be enabled).
    RequirePushedAuthorizationRequests bool
    Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of require_pushed_authorization_requests (which defaults to false).
    RequireSignedRequestObject bool
    Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of require_signed_request_object, and enabled automatically (in case the require_signed_request_object is missing, the feature will not be enabled).
    ResolveDistributedClaims bool
    Distributed claims are represented by the _claim_names and _claim_sources members of the JSON object containing the claims. If this parameter is set to true, the plugin explicitly resolves these distributed claims. Default: false
    ResponseMode string
    Response mode passed to the authorization endpoint: - query: for parameters in query string - form_post: for parameters in request body - fragment: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - query.jwt, form_post.jwt, fragment.jwt: similar to query, form_post and fragment but the parameters are encoded in a JWT - jwt: shortcut that indicates the default encoding for the requested response type. possible known values include one of ["form_post", "form_post.jwt", "fragment", "fragment.jwt", "jwt", "query", "query.jwt"]; Default: "query"
    ResponseTypes []string
    The response type passed to the authorization endpoint. Default: ["code"]
    Reverify bool
    Specifies whether to always verify tokens stored in the session. Default: false
    RevocationEndpoint string
    The revocation endpoint. If set it overrides the value in revocation_endpoint returned by the discovery endpoint.
    RevocationEndpointAuthMethod string
    The revocation endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    RevocationTokenParamName string
    Designate token's parameter name for revocation. Default: "token"
    RolesClaims []string
    The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["roles"]
    RolesRequireds []string
    The roles (roles_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    RunOnPreflight bool
    Specifies whether to run this plugin on pre-flight (OPTIONS) requests. Default: true
    Scopes []string
    The scopes passed to the authorization and token endpoints. Default: ["openid"]
    ScopesClaims []string
    The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["scope"]
    ScopesRequireds []string
    The scopes (scopes_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    SearchUserInfo bool
    Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. Default: false
    SessionAbsoluteTimeout float64
    Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 86400
    SessionAudience string
    The session audience, which is the intended target application. For example "my-application". Default: "default"
    SessionBinds []string
    Bind the session to data acquired from the HTTP request or connection.
    SessionCookieDomain string
    The session cookie Domain flag.
    SessionCookieHttpOnly bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    SessionCookieName string
    The session cookie name. Default: "session"
    SessionCookiePath string
    The session cookie Path flag. Default: "/"
    SessionCookieSameSite string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Lax"
    SessionCookieSecure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    SessionEnforceSameSubject bool
    When set to true, audiences are forced to share the same subject. Default: false
    SessionHashStorageKey bool
    When set to true, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. Default: false
    SessionHashSubject bool
    When set to true, the value of subject is hashed before being stored. Only applies when session_store_metadata is enabled. Default: false
    SessionIdlingTimeout float64
    Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. Default: 900
    SessionMemcachedHost string
    The memcached host. Default: "127.0.0.1"
    SessionMemcachedPort float64
    The memcached port. Default: 11211
    SessionMemcachedPrefix string
    The memcached session key prefix.
    SessionMemcachedSocket string
    The memcached unix socket path.
    SessionMemcachedSsl bool
    If set to true, uses SSL to connect to memcached
    SessionMemcachedSslVerify bool
    If set to true, verifies the validity of the memcached server SSL certificate. Default: true
    SessionRemember bool
    Enables or disables persistent sessions. Default: false
    SessionRememberAbsoluteTimeout float64
    Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 2592000
    SessionRememberCookieName string
    Persistent session cookie name. Use with the remember configuration parameter. Default: "remember"
    SessionRememberRollingTimeout float64
    Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. Default: 604800
    SessionRequestHeaders []string
    Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout request headers.
    SessionResponseHeaders []string
    Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout response headers.
    SessionRollingTimeout float64
    Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 3600
    SessionSecret string
    The session secret.
    SessionStorage string
    The session storage for session data: - cookie: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn't require a database) - memcache: stores session data in memcached - redis: stores session data in Redis. possible known values include one of ["cookie", "memcache", "memcached", "redis"]; Default: "cookie"
    SessionStoreMetadata bool
    Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. Default: false
    SslVerify bool
    Verify identity provider server certificate. If set to true, the plugin uses the CA certificate set in the kong.conf config parameter lua_ssl_trusted_certificate. Default: true
    Timeout float64
    Network IO timeout in milliseconds. Default: 10000
    TlsClientAuthCertId string
    ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server.
    TlsClientAuthSslVerify bool
    Verify identity provider server certificate during mTLS client authentication. Default: true
    TokenCacheKeyIncludeScope bool
    Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. Default: false
    TokenEndpoint string
    The token endpoint. If set it overrides the value in token_endpoint returned by the discovery endpoint.
    TokenEndpointAuthMethod string
    The token endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    TokenExchange AiGatewayAuthStrategyOpenidConnectConfigTokenExchange
    Details on how to accept tokens from other identity providers.
    TokenExchangeEndpoint string
    Endpoint used to perform the legacy token exchange.
    TokenHeadersClients []string
    Extra headers passed from the client to the token endpoint.
    TokenHeadersGrants []string
    Enable the sending of the token endpoint response headers only with certain grants: - password: with OAuth password grant - client_credentials: with OAuth client credentials grant - authorization_code: with authorization code flow - refresh_token with refresh token grant.
    TokenHeadersNames []string
    Extra header names passed to the token endpoint.
    TokenHeadersPrefix string
    Add a prefix to the token endpoint response headers before forwarding them to the downstream client.
    TokenHeadersReplays []string
    The names of token endpoint response headers to forward to the downstream client.
    TokenHeadersValues []string
    Extra header values passed to the token endpoint.
    TokenPostArgsClients []string
    Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with scope values, like this: config.token_post_args_client=scope In this case, the token would take the scope value from the query parameter or from the request body or from the header and send it to the token endpoint.
    TokenPostArgsNames []string
    Extra post argument names passed to the token endpoint.
    TokenPostArgsValues []string
    Extra post argument values passed to the token endpoint.
    UnauthorizedDestroySession bool
    Destroy any active session for the unauthorized requests. Default: true
    UnauthorizedErrorMessage string
    The error message for the unauthorized requests (when not using the redirection). Default: "Unauthorized"
    UnauthorizedRedirectUris []string
    Where to redirect the client on unauthorized requests.
    UnexpectedRedirectUris []string
    Where to redirect the client when unexpected errors happen with the requests.
    UpstreamAccessTokenHeader string
    The upstream access token header. Default: "authorization:bearer"
    UpstreamAccessTokenJwkHeader string
    The upstream access token JWK header.
    UpstreamHeaders []AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeader
    The upstream claim to header mappings.
    UpstreamHeadersClaims []string
    The upstream header claims. Only top level claims are supported.
    UpstreamHeadersNames []string
    The upstream header names for the claim values.
    UpstreamIdTokenHeader string
    The upstream id token header.
    UpstreamIdTokenJwkHeader string
    The upstream id token JWK header.
    UpstreamIntrospectionHeader string
    The upstream introspection header.
    UpstreamIntrospectionJwtHeader string
    The upstream introspection JWT header.
    UpstreamRefreshTokenHeader string
    The upstream refresh token header.
    UpstreamSessionIdHeader string
    The upstream session id header.
    UpstreamUserInfoHeader string
    The upstream user info header.
    UpstreamUserInfoJwtHeader string
    The upstream user info JWT header (in case the user info returns a JWT response).
    UserinfoAccept string
    The value of Accept header for user info requests: - application/json: user info response as JSON - application/jwt: user info response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt"]; Default: "application/json"
    UserinfoEndpoint string
    The user info endpoint. If set it overrides the value in userinfo_endpoint returned by the discovery endpoint.
    UserinfoHeadersClients []string
    Extra headers passed from the client to the user info endpoint.
    UserinfoHeadersNames []string
    Extra header names passed to the user info endpoint.
    UserinfoHeadersValues []string
    Extra header values passed to the user info endpoint.
    UserinfoQueryArgsClients []string
    Extra query arguments passed from the client to the user info endpoint.
    UserinfoQueryArgsNames []string
    Extra query argument names passed to the user info endpoint.
    UserinfoQueryArgsValues []string
    Extra query argument values passed to the user info endpoint.
    UsingPseudoIssuer bool
    If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with config.issuer. Default: false
    VerifyClaims bool
    Verify tokens for standard claims. Default: true
    VerifyNonce bool
    Verify nonce on authorization code flow. Default: true
    VerifyParameters bool
    Verify plugin configuration against discovery. Default: false
    VerifySignature bool
    Verify signature of tokens. Default: true
    anonymous string
    An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a 4xx HTTP status code. This value must refer to the consumer id or username attribute, and not its custom_id.
    audience_claims list(string)
    The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["aud"]
    audience_requireds list(string)
    The audiences (audience_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    audiences list(string)
    The audience passed to the authorization endpoint.
    auth_methods list(string)
    Types of credentials/grants to enable. Default: ["authorizationcode","bearer","clientcredentials","introspection","kongoauth2","password","refreshtoken","session","userinfo"]
    authenticated_groups_claims list(string)
    The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload.
    authorization_cookie_domain string
    The authorization cookie Domain flag.
    authorization_cookie_http_only bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    authorization_cookie_name string
    The authorization cookie name. Default: "authorization"
    authorization_cookie_path string
    The authorization cookie Path flag. Default: "/"
    authorization_cookie_same_site string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Default"
    authorization_cookie_secure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    authorization_endpoint string
    The authorization endpoint. If set it overrides the value in authorization_endpoint returned by the discovery endpoint.
    authorization_query_args_clients list(string)
    Extra query arguments passed from the client to the authorization endpoint.
    authorization_query_args_names list(string)
    Extra query argument names passed to the authorization endpoint.
    authorization_query_args_values list(string)
    Extra query argument values passed to the authorization endpoint.
    authorization_rolling_timeout number
    Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 600
    bearer_token_cookie_name string
    The name of the cookie in which the bearer token is passed.
    bearer_token_param_types list(string)
    Where to look for the bearer token: - header: search the Authorization, access-token, and x-access-token HTTP headers - query: search the URL's query string - body: search the HTTP request body - cookie: search the HTTP request cookies specified with config.bearer_token_cookie_name. Default: ["body","header","query"]
    by_username_ignore_case bool
    If consumer_by is set to username, specify whether username can match consumers case-insensitively. Default: false
    cache_introspection bool
    Cache the introspection endpoint requests. Default: true
    cache_token_exchange bool
    Cache the legacy token exchange endpoint requests. Default: true
    cache_tokens bool
    Cache the token endpoint requests. Default: true
    cache_tokens_salt string
    Salt used for generating the cache key that is used for caching the token endpoint requests.
    cache_ttl number
    The default cache ttl in seconds that is used in case the cached object does not specify the expiry. Default: 3600
    cache_ttl_max number
    The maximum cache ttl in seconds (enforced).
    cache_ttl_min number
    The minimum cache ttl in seconds (enforced).
    cache_ttl_neg number
    The negative cache ttl in seconds.
    cache_ttl_resurrect number
    The resurrection ttl in seconds.
    cache_user_info bool
    Cache the user info requests. Default: true
    claims_forbiddens list(string)
    If given, these claims are forbidden in the token payload.
    client_algs list(string)
    The algorithm to use for clientsecretjwt (only HS***) or private*key*jwt authentication.
    client_arg string
    The client to use for this request (the selection is made with a request parameter with the same name). Default: "client_id"
    client_auths list(string)
    The default OpenID Connect client authentication method is 'clientsecretbasic' (using 'Authorization: Basic' header), 'clientsecretpost' (credentials in body), 'clientsecretjwt' (signed client assertion in body), 'privatekeyjwt' (private key-signed assertion), 'tlsclientauth' (client certificate), 'selfsignedtlsclientauth' (self-signed client certificate), and 'none' (no authentication).
    client_credentials_param_types list(string)
    Where to look for the client credentials: - header: search the HTTP headers - query: search the URL's query string - body: search from the HTTP request body. Default: ["body","header","query"]
    client_ids list(string)
    The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider.
    client_jwks list(object)
    The JWK used for the privatekeyjwt authentication.
    client_secrets list(string)
    The client secret.
    cluster_cache_redis object
    cluster_cache_strategy string
    The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared. possible known values include one of ["off", "redis"]; Default: "off"
    consumer_bies list(string)
    Consumer fields used for mapping: - id: try to find the matching Consumer by id - username: try to find the matching Consumer by username - custom_id: try to find the matching Consumer by custom_id. Default: ["custom_id","username"]
    consumer_claims list(list(string))
    The claims used for consumer mapping. Each entry represents a claim path inside the token payload. The paths are evaluated in order, and the first matching claim is used.
    consumer_groups_claims list(string)
    The claim used for consumer groups mapping. If multiple values are set, it means the claim is inside a nested object of the token payload.
    consumer_groups_optional bool
    Do not terminate the request if consumer groups mapping fails. Default: false
    consumer_optional bool
    Do not terminate the request if consumer mapping fails. Default: false
    credential_claims list(string)
    The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["sub"]
    disable_sessions list(string)
    Disable issuing the session cookie with the specified grants.
    discovery_headers_names list(string)
    Extra header names passed to the discovery endpoint.
    discovery_headers_values list(string)
    Extra header values passed to the discovery endpoint.
    display_errors bool
    Display errors on failure responses. Default: false
    domains list(string)
    The allowed values for the hd claim.
    downstream_access_token_header string
    The downstream access token header.
    downstream_access_token_jwk_header string
    The downstream access token JWK header.
    downstream_headers list(object)
    The downstream claim to header mappings.
    downstream_headers_claims list(string)
    The downstream header claims. Only top level claims are supported.
    downstream_headers_names list(string)
    The downstream header names for the claim values.
    downstream_id_token_header string
    The downstream id token header.
    downstream_id_token_jwk_header string
    The downstream id token JWK header.
    downstream_introspection_header string
    The downstream introspection header.
    downstream_introspection_jwt_header string
    The downstream introspection JWT header.
    downstream_refresh_token_header string
    The downstream refresh token header.
    downstream_session_id_header string
    The downstream session id header.
    downstream_user_info_header string
    The downstream user info header.
    downstream_user_info_jwt_header string
    The downstream user info JWT header (in case the user info returns a JWT response).
    dpop_proof_lifetime number
    Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. Default: 300
    dpop_use_nonce bool
    Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. Default: false
    enable_hs_signatures bool
    Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). Default: false
    end_session_endpoint string
    The end session endpoint. If set it overrides the value in end_session_endpoint returned by the discovery endpoint.
    expose_error_code bool
    Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to false to disable. Default: true
    extra_jwks_uris list(string)
    JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery).
    forbidden_destroy_session bool
    Destroy any active session for the forbidden requests. Default: true
    forbidden_error_message string
    The error message for the forbidden requests (when not using the redirection). Default: "Forbidden"
    forbidden_redirect_uris list(string)
    Where to redirect the client on forbidden requests.
    groups_claims list(string)
    The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["groups"]
    groups_requireds list(string)
    The groups (groups_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    hide_credentials bool
    Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. Default: true
    http_proxy string
    The HTTP proxy.
    http_proxy_authorization string
    The HTTP proxy authorization.
    http_version number
    The HTTP version used for the requests by this plugin: - 1.1: HTTP 1.1 (the default) - 1.0: HTTP 1.0.
    https_proxy string
    The HTTPS proxy.
    https_proxy_authorization string
    The HTTPS proxy authorization.
    id_token_param_name string
    The name of the parameter used to pass the id token.
    id_token_param_types list(string)
    Where to look for the id token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    ignore_signatures list(string)
    Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - password: OAuth password grant - client_credentials: OAuth client credentials grant - authorization_code: authorization code flow - refresh_token: OAuth refresh token grant - session: session cookie authentication - introspection: OAuth introspection - userinfo: OpenID Connect user info endpoint authentication. Default: []
    introspect_jwt_tokens bool
    Specifies whether to introspect the JWT access tokens (can be used to check for revocations). Default: false
    introspection_accept string
    The value of Accept header for introspection requests: - application/json: introspection response as JSON - application/token-introspection+jwt: introspection response as JWT (from the current IETF draft document) - application/jwt: introspection response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt", "application/token-introspection+jwt"]; Default: "application/json"
    introspection_check_active bool
    Check that the introspection response has an active claim with a value of true. Default: true
    introspection_endpoint string
    The introspection endpoint. If set it overrides the value in introspection_endpoint returned by the discovery endpoint.
    introspection_endpoint_auth_method string
    The introspection endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["clientsecretbasic", "clientsecretjwt", "clientsecretpost", "none", "privatekeyjwt", "selfsignedtlsclientauth", "tlsclientauth"]
    introspection_headers_clients list(string)
    Extra headers passed from the client to the introspection endpoint.
    introspection_headers_names list(string)
    Extra header names passed to the introspection endpoint.
    introspection_headers_values list(string)
    Extra header values passed to the introspection endpoint.
    introspection_hint string
    Introspection hint parameter value passed to the introspection endpoint. Default: "access_token"
    introspection_post_args_client_headers list(string)
    Extra post arguments passed from the client headers to the introspection endpoint.
    introspection_post_args_clients list(string)
    Extra post arguments passed from the client to the introspection endpoint.
    introspection_post_args_names list(string)
    Extra post argument names passed to the introspection endpoint.
    introspection_post_args_values list(string)
    Extra post argument values passed to the introspection endpoint.
    introspection_token_param_name string
    Designate token's parameter name for introspection. Default: "token"
    issuer string
    The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure config.using_pseudo_issuer=true. Not Null
    issuers_alloweds list(string)
    The issuers allowed to be present in the tokens (iss claim).
    jwks_endpoint string
    Overrides the jwks_uri returned by discovery. Use when the IdP exposes a non-standard JWKS endpoint.
    jwt_session_claim string
    The claim to match against the JWT session cookie. Default: "sid"
    jwt_session_cookie string
    The name of the JWT session cookie.
    keepalive bool
    Use keepalive with the HTTP client. Default: true
    leeway number
    Defines leeway time (in seconds) for auth_time, exp, iat, and nbf claims. Default: 0
    login_action string
    What to do after successful login: - upstream: proxy request to upstream service - response: terminate request with a response - redirect: redirect to a different location. possible known values include one of ["redirect", "response", "upstream"]; Default: "upstream"
    login_methods list(string)
    Enable login functionality with specified grants. Default: ["authorization_code"]
    login_redirect_mode string
    Where to place login_tokens when using redirect login_action: - query: place tokens in query string - fragment: place tokens in url fragment (not readable by servers). possible known values include one of ["fragment", "query"]; Default: "fragment"
    login_redirect_uris list(string)
    Where to redirect the client when login_action is set to redirect.
    login_tokens list(string)
    What tokens to include in response body or redirect query string or fragment: - id_token: include id token - access_token: include access token - refresh_token: include refresh token - tokens: include the full token endpoint response - introspection: include introspection response. Default: ["id_token"]
    logout_methods list(string)
    The request methods that can activate the logout: - POST: HTTP POST method - GET: HTTP GET method - DELETE: HTTP DELETE method. Default: ["DELETE","POST"]
    logout_post_arg string
    The request body argument that activates the logout.
    logout_query_arg string
    The request query argument that activates the logout.
    logout_redirect_uris list(string)
    Where to redirect the client after the logout.
    logout_revoke bool
    Revoke tokens as part of the logout.
    logout_revoke_access_token bool
    Revoke the access token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logout_revoke_refresh_token bool
    Revoke the refresh token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logout_uri_suffix string
    The request URI suffix that activates the logout.
    max_age number
    The maximum age (in seconds) compared to the auth_time claim.
    mtls_introspection_endpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtls_revocation_endpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtls_token_endpoint string
    Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    no_proxy string
    Do not use proxy with these hosts.
    password_param_types list(string)
    Where to look for the username and password: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    preserve_query_args bool
    With this parameter, you can preserve request query arguments even when doing authorization code flow. Default: false
    principals object
    Configuration for Kong Identity principal hydration after token verification.
    proof_of_possession_auth_methods_validation bool
    If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. Default: true
    proof_of_possession_dpop string
    Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    proof_of_possession_mtls string
    Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    pushed_authorization_request_endpoint string
    The pushed authorization endpoint. If set it overrides the value in pushed_authorization_request_endpoint returned by the discovery endpoint.
    pushed_authorization_request_endpoint_auth_method string
    The pushed authorization request endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    redirect_uris list(string)
    The redirect URI passed to the authorization and token endpoints.
    redis object
    rediscovery_lifetime number
    Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. Default: 30
    refresh_token_param_name string
    The name of the parameter used to pass the refresh token.
    refresh_token_param_types list(string)
    Where to look for the refresh token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    refresh_tokens bool
    Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a refresh_token available. Default: true
    require_proof_key_for_code_exchange bool
    Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of code_challenge_methods_supported, and enabled automatically (in case the code_challenge_methods_supported is missing, the PKCE will not be enabled).
    require_pushed_authorization_requests bool
    Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of require_pushed_authorization_requests (which defaults to false).
    require_signed_request_object bool
    Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of require_signed_request_object, and enabled automatically (in case the require_signed_request_object is missing, the feature will not be enabled).
    resolve_distributed_claims bool
    Distributed claims are represented by the _claim_names and _claim_sources members of the JSON object containing the claims. If this parameter is set to true, the plugin explicitly resolves these distributed claims. Default: false
    response_mode string
    Response mode passed to the authorization endpoint: - query: for parameters in query string - form_post: for parameters in request body - fragment: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - query.jwt, form_post.jwt, fragment.jwt: similar to query, form_post and fragment but the parameters are encoded in a JWT - jwt: shortcut that indicates the default encoding for the requested response type. possible known values include one of ["form_post", "form_post.jwt", "fragment", "fragment.jwt", "jwt", "query", "query.jwt"]; Default: "query"
    response_types list(string)
    The response type passed to the authorization endpoint. Default: ["code"]
    reverify bool
    Specifies whether to always verify tokens stored in the session. Default: false
    revocation_endpoint string
    The revocation endpoint. If set it overrides the value in revocation_endpoint returned by the discovery endpoint.
    revocation_endpoint_auth_method string
    The revocation endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    revocation_token_param_name string
    Designate token's parameter name for revocation. Default: "token"
    roles_claims list(string)
    The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["roles"]
    roles_requireds list(string)
    The roles (roles_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    run_on_preflight bool
    Specifies whether to run this plugin on pre-flight (OPTIONS) requests. Default: true
    scopes list(string)
    The scopes passed to the authorization and token endpoints. Default: ["openid"]
    scopes_claims list(string)
    The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["scope"]
    scopes_requireds list(string)
    The scopes (scopes_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    search_user_info bool
    Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. Default: false
    session_absolute_timeout number
    Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 86400
    session_audience string
    The session audience, which is the intended target application. For example "my-application". Default: "default"
    session_binds list(string)
    Bind the session to data acquired from the HTTP request or connection.
    session_cookie_domain string
    The session cookie Domain flag.
    session_cookie_http_only bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    session_cookie_name string
    The session cookie name. Default: "session"
    session_cookie_path string
    The session cookie Path flag. Default: "/"
    session_cookie_same_site string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Lax"
    session_cookie_secure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    session_enforce_same_subject bool
    When set to true, audiences are forced to share the same subject. Default: false
    session_hash_storage_key bool
    When set to true, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. Default: false
    session_hash_subject bool
    When set to true, the value of subject is hashed before being stored. Only applies when session_store_metadata is enabled. Default: false
    session_idling_timeout number
    Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. Default: 900
    session_memcached_host string
    The memcached host. Default: "127.0.0.1"
    session_memcached_port number
    The memcached port. Default: 11211
    session_memcached_prefix string
    The memcached session key prefix.
    session_memcached_socket string
    The memcached unix socket path.
    session_memcached_ssl bool
    If set to true, uses SSL to connect to memcached
    session_memcached_ssl_verify bool
    If set to true, verifies the validity of the memcached server SSL certificate. Default: true
    session_remember bool
    Enables or disables persistent sessions. Default: false
    session_remember_absolute_timeout number
    Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 2592000
    session_remember_cookie_name string
    Persistent session cookie name. Use with the remember configuration parameter. Default: "remember"
    session_remember_rolling_timeout number
    Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. Default: 604800
    session_request_headers list(string)
    Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout request headers.
    session_response_headers list(string)
    Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout response headers.
    session_rolling_timeout number
    Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 3600
    session_secret string
    The session secret.
    session_storage string
    The session storage for session data: - cookie: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn't require a database) - memcache: stores session data in memcached - redis: stores session data in Redis. possible known values include one of ["cookie", "memcache", "memcached", "redis"]; Default: "cookie"
    session_store_metadata bool
    Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. Default: false
    ssl_verify bool
    Verify identity provider server certificate. If set to true, the plugin uses the CA certificate set in the kong.conf config parameter lua_ssl_trusted_certificate. Default: true
    timeout number
    Network IO timeout in milliseconds. Default: 10000
    tls_client_auth_cert_id string
    ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server.
    tls_client_auth_ssl_verify bool
    Verify identity provider server certificate during mTLS client authentication. Default: true
    token_cache_key_include_scope bool
    Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. Default: false
    token_endpoint string
    The token endpoint. If set it overrides the value in token_endpoint returned by the discovery endpoint.
    token_endpoint_auth_method string
    The token endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    token_exchange object
    Details on how to accept tokens from other identity providers.
    token_exchange_endpoint string
    Endpoint used to perform the legacy token exchange.
    token_headers_clients list(string)
    Extra headers passed from the client to the token endpoint.
    token_headers_grants list(string)
    Enable the sending of the token endpoint response headers only with certain grants: - password: with OAuth password grant - client_credentials: with OAuth client credentials grant - authorization_code: with authorization code flow - refresh_token with refresh token grant.
    token_headers_names list(string)
    Extra header names passed to the token endpoint.
    token_headers_prefix string
    Add a prefix to the token endpoint response headers before forwarding them to the downstream client.
    token_headers_replays list(string)
    The names of token endpoint response headers to forward to the downstream client.
    token_headers_values list(string)
    Extra header values passed to the token endpoint.
    token_post_args_clients list(string)
    Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with scope values, like this: config.token_post_args_client=scope In this case, the token would take the scope value from the query parameter or from the request body or from the header and send it to the token endpoint.
    token_post_args_names list(string)
    Extra post argument names passed to the token endpoint.
    token_post_args_values list(string)
    Extra post argument values passed to the token endpoint.
    unauthorized_destroy_session bool
    Destroy any active session for the unauthorized requests. Default: true
    unauthorized_error_message string
    The error message for the unauthorized requests (when not using the redirection). Default: "Unauthorized"
    unauthorized_redirect_uris list(string)
    Where to redirect the client on unauthorized requests.
    unexpected_redirect_uris list(string)
    Where to redirect the client when unexpected errors happen with the requests.
    upstream_access_token_header string
    The upstream access token header. Default: "authorization:bearer"
    upstream_access_token_jwk_header string
    The upstream access token JWK header.
    upstream_headers list(object)
    The upstream claim to header mappings.
    upstream_headers_claims list(string)
    The upstream header claims. Only top level claims are supported.
    upstream_headers_names list(string)
    The upstream header names for the claim values.
    upstream_id_token_header string
    The upstream id token header.
    upstream_id_token_jwk_header string
    The upstream id token JWK header.
    upstream_introspection_header string
    The upstream introspection header.
    upstream_introspection_jwt_header string
    The upstream introspection JWT header.
    upstream_refresh_token_header string
    The upstream refresh token header.
    upstream_session_id_header string
    The upstream session id header.
    upstream_user_info_header string
    The upstream user info header.
    upstream_user_info_jwt_header string
    The upstream user info JWT header (in case the user info returns a JWT response).
    userinfo_accept string
    The value of Accept header for user info requests: - application/json: user info response as JSON - application/jwt: user info response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt"]; Default: "application/json"
    userinfo_endpoint string
    The user info endpoint. If set it overrides the value in userinfo_endpoint returned by the discovery endpoint.
    userinfo_headers_clients list(string)
    Extra headers passed from the client to the user info endpoint.
    userinfo_headers_names list(string)
    Extra header names passed to the user info endpoint.
    userinfo_headers_values list(string)
    Extra header values passed to the user info endpoint.
    userinfo_query_args_clients list(string)
    Extra query arguments passed from the client to the user info endpoint.
    userinfo_query_args_names list(string)
    Extra query argument names passed to the user info endpoint.
    userinfo_query_args_values list(string)
    Extra query argument values passed to the user info endpoint.
    using_pseudo_issuer bool
    If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with config.issuer. Default: false
    verify_claims bool
    Verify tokens for standard claims. Default: true
    verify_nonce bool
    Verify nonce on authorization code flow. Default: true
    verify_parameters bool
    Verify plugin configuration against discovery. Default: false
    verify_signature bool
    Verify signature of tokens. Default: true
    anonymous String
    An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a 4xx HTTP status code. This value must refer to the consumer id or username attribute, and not its custom_id.
    audienceClaims List<String>
    The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["aud"]
    audienceRequireds List<String>
    The audiences (audience_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    audiences List<String>
    The audience passed to the authorization endpoint.
    authMethods List<String>
    Types of credentials/grants to enable. Default: ["authorizationcode","bearer","clientcredentials","introspection","kongoauth2","password","refreshtoken","session","userinfo"]
    authenticatedGroupsClaims List<String>
    The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload.
    authorizationCookieDomain String
    The authorization cookie Domain flag.
    authorizationCookieHttpOnly Boolean
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    authorizationCookieName String
    The authorization cookie name. Default: "authorization"
    authorizationCookiePath String
    The authorization cookie Path flag. Default: "/"
    authorizationCookieSameSite String
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Default"
    authorizationCookieSecure Boolean
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    authorizationEndpoint String
    The authorization endpoint. If set it overrides the value in authorization_endpoint returned by the discovery endpoint.
    authorizationQueryArgsClients List<String>
    Extra query arguments passed from the client to the authorization endpoint.
    authorizationQueryArgsNames List<String>
    Extra query argument names passed to the authorization endpoint.
    authorizationQueryArgsValues List<String>
    Extra query argument values passed to the authorization endpoint.
    authorizationRollingTimeout Double
    Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 600
    bearerTokenCookieName String
    The name of the cookie in which the bearer token is passed.
    bearerTokenParamTypes List<String>
    Where to look for the bearer token: - header: search the Authorization, access-token, and x-access-token HTTP headers - query: search the URL's query string - body: search the HTTP request body - cookie: search the HTTP request cookies specified with config.bearer_token_cookie_name. Default: ["body","header","query"]
    byUsernameIgnoreCase Boolean
    If consumer_by is set to username, specify whether username can match consumers case-insensitively. Default: false
    cacheIntrospection Boolean
    Cache the introspection endpoint requests. Default: true
    cacheTokenExchange Boolean
    Cache the legacy token exchange endpoint requests. Default: true
    cacheTokens Boolean
    Cache the token endpoint requests. Default: true
    cacheTokensSalt String
    Salt used for generating the cache key that is used for caching the token endpoint requests.
    cacheTtl Double
    The default cache ttl in seconds that is used in case the cached object does not specify the expiry. Default: 3600
    cacheTtlMax Double
    The maximum cache ttl in seconds (enforced).
    cacheTtlMin Double
    The minimum cache ttl in seconds (enforced).
    cacheTtlNeg Double
    The negative cache ttl in seconds.
    cacheTtlResurrect Double
    The resurrection ttl in seconds.
    cacheUserInfo Boolean
    Cache the user info requests. Default: true
    claimsForbiddens List<String>
    If given, these claims are forbidden in the token payload.
    clientAlgs List<String>
    The algorithm to use for clientsecretjwt (only HS***) or private*key*jwt authentication.
    clientArg String
    The client to use for this request (the selection is made with a request parameter with the same name). Default: "client_id"
    clientAuths List<String>
    The default OpenID Connect client authentication method is 'clientsecretbasic' (using 'Authorization: Basic' header), 'clientsecretpost' (credentials in body), 'clientsecretjwt' (signed client assertion in body), 'privatekeyjwt' (private key-signed assertion), 'tlsclientauth' (client certificate), 'selfsignedtlsclientauth' (self-signed client certificate), and 'none' (no authentication).
    clientCredentialsParamTypes List<String>
    Where to look for the client credentials: - header: search the HTTP headers - query: search the URL's query string - body: search from the HTTP request body. Default: ["body","header","query"]
    clientIds List<String>
    The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider.
    clientJwks List<AiGatewayAuthStrategyOpenidConnectConfigClientJwk>
    The JWK used for the privatekeyjwt authentication.
    clientSecrets List<String>
    The client secret.
    clusterCacheRedis AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedis
    clusterCacheStrategy String
    The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared. possible known values include one of ["off", "redis"]; Default: "off"
    consumerBies List<String>
    Consumer fields used for mapping: - id: try to find the matching Consumer by id - username: try to find the matching Consumer by username - custom_id: try to find the matching Consumer by custom_id. Default: ["custom_id","username"]
    consumerClaims List<List<String>>
    The claims used for consumer mapping. Each entry represents a claim path inside the token payload. The paths are evaluated in order, and the first matching claim is used.
    consumerGroupsClaims List<String>
    The claim used for consumer groups mapping. If multiple values are set, it means the claim is inside a nested object of the token payload.
    consumerGroupsOptional Boolean
    Do not terminate the request if consumer groups mapping fails. Default: false
    consumerOptional Boolean
    Do not terminate the request if consumer mapping fails. Default: false
    credentialClaims List<String>
    The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["sub"]
    disableSessions List<String>
    Disable issuing the session cookie with the specified grants.
    discoveryHeadersNames List<String>
    Extra header names passed to the discovery endpoint.
    discoveryHeadersValues List<String>
    Extra header values passed to the discovery endpoint.
    displayErrors Boolean
    Display errors on failure responses. Default: false
    domains List<String>
    The allowed values for the hd claim.
    downstreamAccessTokenHeader String
    The downstream access token header.
    downstreamAccessTokenJwkHeader String
    The downstream access token JWK header.
    downstreamHeaders List<AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeader>
    The downstream claim to header mappings.
    downstreamHeadersClaims List<String>
    The downstream header claims. Only top level claims are supported.
    downstreamHeadersNames List<String>
    The downstream header names for the claim values.
    downstreamIdTokenHeader String
    The downstream id token header.
    downstreamIdTokenJwkHeader String
    The downstream id token JWK header.
    downstreamIntrospectionHeader String
    The downstream introspection header.
    downstreamIntrospectionJwtHeader String
    The downstream introspection JWT header.
    downstreamRefreshTokenHeader String
    The downstream refresh token header.
    downstreamSessionIdHeader String
    The downstream session id header.
    downstreamUserInfoHeader String
    The downstream user info header.
    downstreamUserInfoJwtHeader String
    The downstream user info JWT header (in case the user info returns a JWT response).
    dpopProofLifetime Double
    Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. Default: 300
    dpopUseNonce Boolean
    Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. Default: false
    enableHsSignatures Boolean
    Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). Default: false
    endSessionEndpoint String
    The end session endpoint. If set it overrides the value in end_session_endpoint returned by the discovery endpoint.
    exposeErrorCode Boolean
    Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to false to disable. Default: true
    extraJwksUris List<String>
    JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery).
    forbiddenDestroySession Boolean
    Destroy any active session for the forbidden requests. Default: true
    forbiddenErrorMessage String
    The error message for the forbidden requests (when not using the redirection). Default: "Forbidden"
    forbiddenRedirectUris List<String>
    Where to redirect the client on forbidden requests.
    groupsClaims List<String>
    The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["groups"]
    groupsRequireds List<String>
    The groups (groups_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    hideCredentials Boolean
    Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. Default: true
    httpProxy String
    The HTTP proxy.
    httpProxyAuthorization String
    The HTTP proxy authorization.
    httpVersion Double
    The HTTP version used for the requests by this plugin: - 1.1: HTTP 1.1 (the default) - 1.0: HTTP 1.0.
    httpsProxy String
    The HTTPS proxy.
    httpsProxyAuthorization String
    The HTTPS proxy authorization.
    idTokenParamName String
    The name of the parameter used to pass the id token.
    idTokenParamTypes List<String>
    Where to look for the id token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    ignoreSignatures List<String>
    Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - password: OAuth password grant - client_credentials: OAuth client credentials grant - authorization_code: authorization code flow - refresh_token: OAuth refresh token grant - session: session cookie authentication - introspection: OAuth introspection - userinfo: OpenID Connect user info endpoint authentication. Default: []
    introspectJwtTokens Boolean
    Specifies whether to introspect the JWT access tokens (can be used to check for revocations). Default: false
    introspectionAccept String
    The value of Accept header for introspection requests: - application/json: introspection response as JSON - application/token-introspection+jwt: introspection response as JWT (from the current IETF draft document) - application/jwt: introspection response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt", "application/token-introspection+jwt"]; Default: "application/json"
    introspectionCheckActive Boolean
    Check that the introspection response has an active claim with a value of true. Default: true
    introspectionEndpoint String
    The introspection endpoint. If set it overrides the value in introspection_endpoint returned by the discovery endpoint.
    introspectionEndpointAuthMethod String
    The introspection endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["clientsecretbasic", "clientsecretjwt", "clientsecretpost", "none", "privatekeyjwt", "selfsignedtlsclientauth", "tlsclientauth"]
    introspectionHeadersClients List<String>
    Extra headers passed from the client to the introspection endpoint.
    introspectionHeadersNames List<String>
    Extra header names passed to the introspection endpoint.
    introspectionHeadersValues List<String>
    Extra header values passed to the introspection endpoint.
    introspectionHint String
    Introspection hint parameter value passed to the introspection endpoint. Default: "access_token"
    introspectionPostArgsClientHeaders List<String>
    Extra post arguments passed from the client headers to the introspection endpoint.
    introspectionPostArgsClients List<String>
    Extra post arguments passed from the client to the introspection endpoint.
    introspectionPostArgsNames List<String>
    Extra post argument names passed to the introspection endpoint.
    introspectionPostArgsValues List<String>
    Extra post argument values passed to the introspection endpoint.
    introspectionTokenParamName String
    Designate token's parameter name for introspection. Default: "token"
    issuer String
    The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure config.using_pseudo_issuer=true. Not Null
    issuersAlloweds List<String>
    The issuers allowed to be present in the tokens (iss claim).
    jwksEndpoint String
    Overrides the jwks_uri returned by discovery. Use when the IdP exposes a non-standard JWKS endpoint.
    jwtSessionClaim String
    The claim to match against the JWT session cookie. Default: "sid"
    jwtSessionCookie String
    The name of the JWT session cookie.
    keepalive Boolean
    Use keepalive with the HTTP client. Default: true
    leeway Double
    Defines leeway time (in seconds) for auth_time, exp, iat, and nbf claims. Default: 0
    loginAction String
    What to do after successful login: - upstream: proxy request to upstream service - response: terminate request with a response - redirect: redirect to a different location. possible known values include one of ["redirect", "response", "upstream"]; Default: "upstream"
    loginMethods List<String>
    Enable login functionality with specified grants. Default: ["authorization_code"]
    loginRedirectMode String
    Where to place login_tokens when using redirect login_action: - query: place tokens in query string - fragment: place tokens in url fragment (not readable by servers). possible known values include one of ["fragment", "query"]; Default: "fragment"
    loginRedirectUris List<String>
    Where to redirect the client when login_action is set to redirect.
    loginTokens List<String>
    What tokens to include in response body or redirect query string or fragment: - id_token: include id token - access_token: include access token - refresh_token: include refresh token - tokens: include the full token endpoint response - introspection: include introspection response. Default: ["id_token"]
    logoutMethods List<String>
    The request methods that can activate the logout: - POST: HTTP POST method - GET: HTTP GET method - DELETE: HTTP DELETE method. Default: ["DELETE","POST"]
    logoutPostArg String
    The request body argument that activates the logout.
    logoutQueryArg String
    The request query argument that activates the logout.
    logoutRedirectUris List<String>
    Where to redirect the client after the logout.
    logoutRevoke Boolean
    Revoke tokens as part of the logout.
    logoutRevokeAccessToken Boolean
    Revoke the access token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logoutRevokeRefreshToken Boolean
    Revoke the refresh token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logoutUriSuffix String
    The request URI suffix that activates the logout.
    maxAge Double
    The maximum age (in seconds) compared to the auth_time claim.
    mtlsIntrospectionEndpoint String
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtlsRevocationEndpoint String
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtlsTokenEndpoint String
    Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    noProxy String
    Do not use proxy with these hosts.
    passwordParamTypes List<String>
    Where to look for the username and password: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    preserveQueryArgs Boolean
    With this parameter, you can preserve request query arguments even when doing authorization code flow. Default: false
    principals AiGatewayAuthStrategyOpenidConnectConfigPrincipals
    Configuration for Kong Identity principal hydration after token verification.
    proofOfPossessionAuthMethodsValidation Boolean
    If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. Default: true
    proofOfPossessionDpop String
    Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    proofOfPossessionMtls String
    Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    pushedAuthorizationRequestEndpoint String
    The pushed authorization endpoint. If set it overrides the value in pushed_authorization_request_endpoint returned by the discovery endpoint.
    pushedAuthorizationRequestEndpointAuthMethod String
    The pushed authorization request endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    redirectUris List<String>
    The redirect URI passed to the authorization and token endpoints.
    redis AiGatewayAuthStrategyOpenidConnectConfigRedis
    rediscoveryLifetime Double
    Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. Default: 30
    refreshTokenParamName String
    The name of the parameter used to pass the refresh token.
    refreshTokenParamTypes List<String>
    Where to look for the refresh token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    refreshTokens Boolean
    Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a refresh_token available. Default: true
    requireProofKeyForCodeExchange Boolean
    Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of code_challenge_methods_supported, and enabled automatically (in case the code_challenge_methods_supported is missing, the PKCE will not be enabled).
    requirePushedAuthorizationRequests Boolean
    Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of require_pushed_authorization_requests (which defaults to false).
    requireSignedRequestObject Boolean
    Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of require_signed_request_object, and enabled automatically (in case the require_signed_request_object is missing, the feature will not be enabled).
    resolveDistributedClaims Boolean
    Distributed claims are represented by the _claim_names and _claim_sources members of the JSON object containing the claims. If this parameter is set to true, the plugin explicitly resolves these distributed claims. Default: false
    responseMode String
    Response mode passed to the authorization endpoint: - query: for parameters in query string - form_post: for parameters in request body - fragment: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - query.jwt, form_post.jwt, fragment.jwt: similar to query, form_post and fragment but the parameters are encoded in a JWT - jwt: shortcut that indicates the default encoding for the requested response type. possible known values include one of ["form_post", "form_post.jwt", "fragment", "fragment.jwt", "jwt", "query", "query.jwt"]; Default: "query"
    responseTypes List<String>
    The response type passed to the authorization endpoint. Default: ["code"]
    reverify Boolean
    Specifies whether to always verify tokens stored in the session. Default: false
    revocationEndpoint String
    The revocation endpoint. If set it overrides the value in revocation_endpoint returned by the discovery endpoint.
    revocationEndpointAuthMethod String
    The revocation endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    revocationTokenParamName String
    Designate token's parameter name for revocation. Default: "token"
    rolesClaims List<String>
    The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["roles"]
    rolesRequireds List<String>
    The roles (roles_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    runOnPreflight Boolean
    Specifies whether to run this plugin on pre-flight (OPTIONS) requests. Default: true
    scopes List<String>
    The scopes passed to the authorization and token endpoints. Default: ["openid"]
    scopesClaims List<String>
    The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["scope"]
    scopesRequireds List<String>
    The scopes (scopes_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    searchUserInfo Boolean
    Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. Default: false
    sessionAbsoluteTimeout Double
    Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 86400
    sessionAudience String
    The session audience, which is the intended target application. For example "my-application". Default: "default"
    sessionBinds List<String>
    Bind the session to data acquired from the HTTP request or connection.
    sessionCookieDomain String
    The session cookie Domain flag.
    sessionCookieHttpOnly Boolean
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    sessionCookieName String
    The session cookie name. Default: "session"
    sessionCookiePath String
    The session cookie Path flag. Default: "/"
    sessionCookieSameSite String
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Lax"
    sessionCookieSecure Boolean
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    sessionEnforceSameSubject Boolean
    When set to true, audiences are forced to share the same subject. Default: false
    sessionHashStorageKey Boolean
    When set to true, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. Default: false
    sessionHashSubject Boolean
    When set to true, the value of subject is hashed before being stored. Only applies when session_store_metadata is enabled. Default: false
    sessionIdlingTimeout Double
    Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. Default: 900
    sessionMemcachedHost String
    The memcached host. Default: "127.0.0.1"
    sessionMemcachedPort Double
    The memcached port. Default: 11211
    sessionMemcachedPrefix String
    The memcached session key prefix.
    sessionMemcachedSocket String
    The memcached unix socket path.
    sessionMemcachedSsl Boolean
    If set to true, uses SSL to connect to memcached
    sessionMemcachedSslVerify Boolean
    If set to true, verifies the validity of the memcached server SSL certificate. Default: true
    sessionRemember Boolean
    Enables or disables persistent sessions. Default: false
    sessionRememberAbsoluteTimeout Double
    Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 2592000
    sessionRememberCookieName String
    Persistent session cookie name. Use with the remember configuration parameter. Default: "remember"
    sessionRememberRollingTimeout Double
    Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. Default: 604800
    sessionRequestHeaders List<String>
    Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout request headers.
    sessionResponseHeaders List<String>
    Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout response headers.
    sessionRollingTimeout Double
    Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 3600
    sessionSecret String
    The session secret.
    sessionStorage String
    The session storage for session data: - cookie: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn't require a database) - memcache: stores session data in memcached - redis: stores session data in Redis. possible known values include one of ["cookie", "memcache", "memcached", "redis"]; Default: "cookie"
    sessionStoreMetadata Boolean
    Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. Default: false
    sslVerify Boolean
    Verify identity provider server certificate. If set to true, the plugin uses the CA certificate set in the kong.conf config parameter lua_ssl_trusted_certificate. Default: true
    timeout Double
    Network IO timeout in milliseconds. Default: 10000
    tlsClientAuthCertId String
    ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server.
    tlsClientAuthSslVerify Boolean
    Verify identity provider server certificate during mTLS client authentication. Default: true
    tokenCacheKeyIncludeScope Boolean
    Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. Default: false
    tokenEndpoint String
    The token endpoint. If set it overrides the value in token_endpoint returned by the discovery endpoint.
    tokenEndpointAuthMethod String
    The token endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    tokenExchange AiGatewayAuthStrategyOpenidConnectConfigTokenExchange
    Details on how to accept tokens from other identity providers.
    tokenExchangeEndpoint String
    Endpoint used to perform the legacy token exchange.
    tokenHeadersClients List<String>
    Extra headers passed from the client to the token endpoint.
    tokenHeadersGrants List<String>
    Enable the sending of the token endpoint response headers only with certain grants: - password: with OAuth password grant - client_credentials: with OAuth client credentials grant - authorization_code: with authorization code flow - refresh_token with refresh token grant.
    tokenHeadersNames List<String>
    Extra header names passed to the token endpoint.
    tokenHeadersPrefix String
    Add a prefix to the token endpoint response headers before forwarding them to the downstream client.
    tokenHeadersReplays List<String>
    The names of token endpoint response headers to forward to the downstream client.
    tokenHeadersValues List<String>
    Extra header values passed to the token endpoint.
    tokenPostArgsClients List<String>
    Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with scope values, like this: config.token_post_args_client=scope In this case, the token would take the scope value from the query parameter or from the request body or from the header and send it to the token endpoint.
    tokenPostArgsNames List<String>
    Extra post argument names passed to the token endpoint.
    tokenPostArgsValues List<String>
    Extra post argument values passed to the token endpoint.
    unauthorizedDestroySession Boolean
    Destroy any active session for the unauthorized requests. Default: true
    unauthorizedErrorMessage String
    The error message for the unauthorized requests (when not using the redirection). Default: "Unauthorized"
    unauthorizedRedirectUris List<String>
    Where to redirect the client on unauthorized requests.
    unexpectedRedirectUris List<String>
    Where to redirect the client when unexpected errors happen with the requests.
    upstreamAccessTokenHeader String
    The upstream access token header. Default: "authorization:bearer"
    upstreamAccessTokenJwkHeader String
    The upstream access token JWK header.
    upstreamHeaders List<AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeader>
    The upstream claim to header mappings.
    upstreamHeadersClaims List<String>
    The upstream header claims. Only top level claims are supported.
    upstreamHeadersNames List<String>
    The upstream header names for the claim values.
    upstreamIdTokenHeader String
    The upstream id token header.
    upstreamIdTokenJwkHeader String
    The upstream id token JWK header.
    upstreamIntrospectionHeader String
    The upstream introspection header.
    upstreamIntrospectionJwtHeader String
    The upstream introspection JWT header.
    upstreamRefreshTokenHeader String
    The upstream refresh token header.
    upstreamSessionIdHeader String
    The upstream session id header.
    upstreamUserInfoHeader String
    The upstream user info header.
    upstreamUserInfoJwtHeader String
    The upstream user info JWT header (in case the user info returns a JWT response).
    userinfoAccept String
    The value of Accept header for user info requests: - application/json: user info response as JSON - application/jwt: user info response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt"]; Default: "application/json"
    userinfoEndpoint String
    The user info endpoint. If set it overrides the value in userinfo_endpoint returned by the discovery endpoint.
    userinfoHeadersClients List<String>
    Extra headers passed from the client to the user info endpoint.
    userinfoHeadersNames List<String>
    Extra header names passed to the user info endpoint.
    userinfoHeadersValues List<String>
    Extra header values passed to the user info endpoint.
    userinfoQueryArgsClients List<String>
    Extra query arguments passed from the client to the user info endpoint.
    userinfoQueryArgsNames List<String>
    Extra query argument names passed to the user info endpoint.
    userinfoQueryArgsValues List<String>
    Extra query argument values passed to the user info endpoint.
    usingPseudoIssuer Boolean
    If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with config.issuer. Default: false
    verifyClaims Boolean
    Verify tokens for standard claims. Default: true
    verifyNonce Boolean
    Verify nonce on authorization code flow. Default: true
    verifyParameters Boolean
    Verify plugin configuration against discovery. Default: false
    verifySignature Boolean
    Verify signature of tokens. Default: true
    anonymous string
    An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a 4xx HTTP status code. This value must refer to the consumer id or username attribute, and not its custom_id.
    audienceClaims string[]
    The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["aud"]
    audienceRequireds string[]
    The audiences (audience_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    audiences string[]
    The audience passed to the authorization endpoint.
    authMethods string[]
    Types of credentials/grants to enable. Default: ["authorizationcode","bearer","clientcredentials","introspection","kongoauth2","password","refreshtoken","session","userinfo"]
    authenticatedGroupsClaims string[]
    The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload.
    authorizationCookieDomain string
    The authorization cookie Domain flag.
    authorizationCookieHttpOnly boolean
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    authorizationCookieName string
    The authorization cookie name. Default: "authorization"
    authorizationCookiePath string
    The authorization cookie Path flag. Default: "/"
    authorizationCookieSameSite string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Default"
    authorizationCookieSecure boolean
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    authorizationEndpoint string
    The authorization endpoint. If set it overrides the value in authorization_endpoint returned by the discovery endpoint.
    authorizationQueryArgsClients string[]
    Extra query arguments passed from the client to the authorization endpoint.
    authorizationQueryArgsNames string[]
    Extra query argument names passed to the authorization endpoint.
    authorizationQueryArgsValues string[]
    Extra query argument values passed to the authorization endpoint.
    authorizationRollingTimeout number
    Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 600
    bearerTokenCookieName string
    The name of the cookie in which the bearer token is passed.
    bearerTokenParamTypes string[]
    Where to look for the bearer token: - header: search the Authorization, access-token, and x-access-token HTTP headers - query: search the URL's query string - body: search the HTTP request body - cookie: search the HTTP request cookies specified with config.bearer_token_cookie_name. Default: ["body","header","query"]
    byUsernameIgnoreCase boolean
    If consumer_by is set to username, specify whether username can match consumers case-insensitively. Default: false
    cacheIntrospection boolean
    Cache the introspection endpoint requests. Default: true
    cacheTokenExchange boolean
    Cache the legacy token exchange endpoint requests. Default: true
    cacheTokens boolean
    Cache the token endpoint requests. Default: true
    cacheTokensSalt string
    Salt used for generating the cache key that is used for caching the token endpoint requests.
    cacheTtl number
    The default cache ttl in seconds that is used in case the cached object does not specify the expiry. Default: 3600
    cacheTtlMax number
    The maximum cache ttl in seconds (enforced).
    cacheTtlMin number
    The minimum cache ttl in seconds (enforced).
    cacheTtlNeg number
    The negative cache ttl in seconds.
    cacheTtlResurrect number
    The resurrection ttl in seconds.
    cacheUserInfo boolean
    Cache the user info requests. Default: true
    claimsForbiddens string[]
    If given, these claims are forbidden in the token payload.
    clientAlgs string[]
    The algorithm to use for clientsecretjwt (only HS***) or private*key*jwt authentication.
    clientArg string
    The client to use for this request (the selection is made with a request parameter with the same name). Default: "client_id"
    clientAuths string[]
    The default OpenID Connect client authentication method is 'clientsecretbasic' (using 'Authorization: Basic' header), 'clientsecretpost' (credentials in body), 'clientsecretjwt' (signed client assertion in body), 'privatekeyjwt' (private key-signed assertion), 'tlsclientauth' (client certificate), 'selfsignedtlsclientauth' (self-signed client certificate), and 'none' (no authentication).
    clientCredentialsParamTypes string[]
    Where to look for the client credentials: - header: search the HTTP headers - query: search the URL's query string - body: search from the HTTP request body. Default: ["body","header","query"]
    clientIds string[]
    The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider.
    clientJwks AiGatewayAuthStrategyOpenidConnectConfigClientJwk[]
    The JWK used for the privatekeyjwt authentication.
    clientSecrets string[]
    The client secret.
    clusterCacheRedis AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedis
    clusterCacheStrategy string
    The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared. possible known values include one of ["off", "redis"]; Default: "off"
    consumerBies string[]
    Consumer fields used for mapping: - id: try to find the matching Consumer by id - username: try to find the matching Consumer by username - custom_id: try to find the matching Consumer by custom_id. Default: ["custom_id","username"]
    consumerClaims string[][]
    The claims used for consumer mapping. Each entry represents a claim path inside the token payload. The paths are evaluated in order, and the first matching claim is used.
    consumerGroupsClaims string[]
    The claim used for consumer groups mapping. If multiple values are set, it means the claim is inside a nested object of the token payload.
    consumerGroupsOptional boolean
    Do not terminate the request if consumer groups mapping fails. Default: false
    consumerOptional boolean
    Do not terminate the request if consumer mapping fails. Default: false
    credentialClaims string[]
    The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["sub"]
    disableSessions string[]
    Disable issuing the session cookie with the specified grants.
    discoveryHeadersNames string[]
    Extra header names passed to the discovery endpoint.
    discoveryHeadersValues string[]
    Extra header values passed to the discovery endpoint.
    displayErrors boolean
    Display errors on failure responses. Default: false
    domains string[]
    The allowed values for the hd claim.
    downstreamAccessTokenHeader string
    The downstream access token header.
    downstreamAccessTokenJwkHeader string
    The downstream access token JWK header.
    downstreamHeaders AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeader[]
    The downstream claim to header mappings.
    downstreamHeadersClaims string[]
    The downstream header claims. Only top level claims are supported.
    downstreamHeadersNames string[]
    The downstream header names for the claim values.
    downstreamIdTokenHeader string
    The downstream id token header.
    downstreamIdTokenJwkHeader string
    The downstream id token JWK header.
    downstreamIntrospectionHeader string
    The downstream introspection header.
    downstreamIntrospectionJwtHeader string
    The downstream introspection JWT header.
    downstreamRefreshTokenHeader string
    The downstream refresh token header.
    downstreamSessionIdHeader string
    The downstream session id header.
    downstreamUserInfoHeader string
    The downstream user info header.
    downstreamUserInfoJwtHeader string
    The downstream user info JWT header (in case the user info returns a JWT response).
    dpopProofLifetime number
    Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. Default: 300
    dpopUseNonce boolean
    Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. Default: false
    enableHsSignatures boolean
    Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). Default: false
    endSessionEndpoint string
    The end session endpoint. If set it overrides the value in end_session_endpoint returned by the discovery endpoint.
    exposeErrorCode boolean
    Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to false to disable. Default: true
    extraJwksUris string[]
    JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery).
    forbiddenDestroySession boolean
    Destroy any active session for the forbidden requests. Default: true
    forbiddenErrorMessage string
    The error message for the forbidden requests (when not using the redirection). Default: "Forbidden"
    forbiddenRedirectUris string[]
    Where to redirect the client on forbidden requests.
    groupsClaims string[]
    The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["groups"]
    groupsRequireds string[]
    The groups (groups_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    hideCredentials boolean
    Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. Default: true
    httpProxy string
    The HTTP proxy.
    httpProxyAuthorization string
    The HTTP proxy authorization.
    httpVersion number
    The HTTP version used for the requests by this plugin: - 1.1: HTTP 1.1 (the default) - 1.0: HTTP 1.0.
    httpsProxy string
    The HTTPS proxy.
    httpsProxyAuthorization string
    The HTTPS proxy authorization.
    idTokenParamName string
    The name of the parameter used to pass the id token.
    idTokenParamTypes string[]
    Where to look for the id token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    ignoreSignatures string[]
    Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - password: OAuth password grant - client_credentials: OAuth client credentials grant - authorization_code: authorization code flow - refresh_token: OAuth refresh token grant - session: session cookie authentication - introspection: OAuth introspection - userinfo: OpenID Connect user info endpoint authentication. Default: []
    introspectJwtTokens boolean
    Specifies whether to introspect the JWT access tokens (can be used to check for revocations). Default: false
    introspectionAccept string
    The value of Accept header for introspection requests: - application/json: introspection response as JSON - application/token-introspection+jwt: introspection response as JWT (from the current IETF draft document) - application/jwt: introspection response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt", "application/token-introspection+jwt"]; Default: "application/json"
    introspectionCheckActive boolean
    Check that the introspection response has an active claim with a value of true. Default: true
    introspectionEndpoint string
    The introspection endpoint. If set it overrides the value in introspection_endpoint returned by the discovery endpoint.
    introspectionEndpointAuthMethod string
    The introspection endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["clientsecretbasic", "clientsecretjwt", "clientsecretpost", "none", "privatekeyjwt", "selfsignedtlsclientauth", "tlsclientauth"]
    introspectionHeadersClients string[]
    Extra headers passed from the client to the introspection endpoint.
    introspectionHeadersNames string[]
    Extra header names passed to the introspection endpoint.
    introspectionHeadersValues string[]
    Extra header values passed to the introspection endpoint.
    introspectionHint string
    Introspection hint parameter value passed to the introspection endpoint. Default: "access_token"
    introspectionPostArgsClientHeaders string[]
    Extra post arguments passed from the client headers to the introspection endpoint.
    introspectionPostArgsClients string[]
    Extra post arguments passed from the client to the introspection endpoint.
    introspectionPostArgsNames string[]
    Extra post argument names passed to the introspection endpoint.
    introspectionPostArgsValues string[]
    Extra post argument values passed to the introspection endpoint.
    introspectionTokenParamName string
    Designate token's parameter name for introspection. Default: "token"
    issuer string
    The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure config.using_pseudo_issuer=true. Not Null
    issuersAlloweds string[]
    The issuers allowed to be present in the tokens (iss claim).
    jwksEndpoint string
    Overrides the jwks_uri returned by discovery. Use when the IdP exposes a non-standard JWKS endpoint.
    jwtSessionClaim string
    The claim to match against the JWT session cookie. Default: "sid"
    jwtSessionCookie string
    The name of the JWT session cookie.
    keepalive boolean
    Use keepalive with the HTTP client. Default: true
    leeway number
    Defines leeway time (in seconds) for auth_time, exp, iat, and nbf claims. Default: 0
    loginAction string
    What to do after successful login: - upstream: proxy request to upstream service - response: terminate request with a response - redirect: redirect to a different location. possible known values include one of ["redirect", "response", "upstream"]; Default: "upstream"
    loginMethods string[]
    Enable login functionality with specified grants. Default: ["authorization_code"]
    loginRedirectMode string
    Where to place login_tokens when using redirect login_action: - query: place tokens in query string - fragment: place tokens in url fragment (not readable by servers). possible known values include one of ["fragment", "query"]; Default: "fragment"
    loginRedirectUris string[]
    Where to redirect the client when login_action is set to redirect.
    loginTokens string[]
    What tokens to include in response body or redirect query string or fragment: - id_token: include id token - access_token: include access token - refresh_token: include refresh token - tokens: include the full token endpoint response - introspection: include introspection response. Default: ["id_token"]
    logoutMethods string[]
    The request methods that can activate the logout: - POST: HTTP POST method - GET: HTTP GET method - DELETE: HTTP DELETE method. Default: ["DELETE","POST"]
    logoutPostArg string
    The request body argument that activates the logout.
    logoutQueryArg string
    The request query argument that activates the logout.
    logoutRedirectUris string[]
    Where to redirect the client after the logout.
    logoutRevoke boolean
    Revoke tokens as part of the logout.
    logoutRevokeAccessToken boolean
    Revoke the access token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logoutRevokeRefreshToken boolean
    Revoke the refresh token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logoutUriSuffix string
    The request URI suffix that activates the logout.
    maxAge number
    The maximum age (in seconds) compared to the auth_time claim.
    mtlsIntrospectionEndpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtlsRevocationEndpoint string
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtlsTokenEndpoint string
    Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    noProxy string
    Do not use proxy with these hosts.
    passwordParamTypes string[]
    Where to look for the username and password: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    preserveQueryArgs boolean
    With this parameter, you can preserve request query arguments even when doing authorization code flow. Default: false
    principals AiGatewayAuthStrategyOpenidConnectConfigPrincipals
    Configuration for Kong Identity principal hydration after token verification.
    proofOfPossessionAuthMethodsValidation boolean
    If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. Default: true
    proofOfPossessionDpop string
    Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    proofOfPossessionMtls string
    Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    pushedAuthorizationRequestEndpoint string
    The pushed authorization endpoint. If set it overrides the value in pushed_authorization_request_endpoint returned by the discovery endpoint.
    pushedAuthorizationRequestEndpointAuthMethod string
    The pushed authorization request endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    redirectUris string[]
    The redirect URI passed to the authorization and token endpoints.
    redis AiGatewayAuthStrategyOpenidConnectConfigRedis
    rediscoveryLifetime number
    Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. Default: 30
    refreshTokenParamName string
    The name of the parameter used to pass the refresh token.
    refreshTokenParamTypes string[]
    Where to look for the refresh token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    refreshTokens boolean
    Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a refresh_token available. Default: true
    requireProofKeyForCodeExchange boolean
    Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of code_challenge_methods_supported, and enabled automatically (in case the code_challenge_methods_supported is missing, the PKCE will not be enabled).
    requirePushedAuthorizationRequests boolean
    Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of require_pushed_authorization_requests (which defaults to false).
    requireSignedRequestObject boolean
    Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of require_signed_request_object, and enabled automatically (in case the require_signed_request_object is missing, the feature will not be enabled).
    resolveDistributedClaims boolean
    Distributed claims are represented by the _claim_names and _claim_sources members of the JSON object containing the claims. If this parameter is set to true, the plugin explicitly resolves these distributed claims. Default: false
    responseMode string
    Response mode passed to the authorization endpoint: - query: for parameters in query string - form_post: for parameters in request body - fragment: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - query.jwt, form_post.jwt, fragment.jwt: similar to query, form_post and fragment but the parameters are encoded in a JWT - jwt: shortcut that indicates the default encoding for the requested response type. possible known values include one of ["form_post", "form_post.jwt", "fragment", "fragment.jwt", "jwt", "query", "query.jwt"]; Default: "query"
    responseTypes string[]
    The response type passed to the authorization endpoint. Default: ["code"]
    reverify boolean
    Specifies whether to always verify tokens stored in the session. Default: false
    revocationEndpoint string
    The revocation endpoint. If set it overrides the value in revocation_endpoint returned by the discovery endpoint.
    revocationEndpointAuthMethod string
    The revocation endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    revocationTokenParamName string
    Designate token's parameter name for revocation. Default: "token"
    rolesClaims string[]
    The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["roles"]
    rolesRequireds string[]
    The roles (roles_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    runOnPreflight boolean
    Specifies whether to run this plugin on pre-flight (OPTIONS) requests. Default: true
    scopes string[]
    The scopes passed to the authorization and token endpoints. Default: ["openid"]
    scopesClaims string[]
    The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["scope"]
    scopesRequireds string[]
    The scopes (scopes_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    searchUserInfo boolean
    Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. Default: false
    sessionAbsoluteTimeout number
    Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 86400
    sessionAudience string
    The session audience, which is the intended target application. For example "my-application". Default: "default"
    sessionBinds string[]
    Bind the session to data acquired from the HTTP request or connection.
    sessionCookieDomain string
    The session cookie Domain flag.
    sessionCookieHttpOnly boolean
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    sessionCookieName string
    The session cookie name. Default: "session"
    sessionCookiePath string
    The session cookie Path flag. Default: "/"
    sessionCookieSameSite string
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Lax"
    sessionCookieSecure boolean
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    sessionEnforceSameSubject boolean
    When set to true, audiences are forced to share the same subject. Default: false
    sessionHashStorageKey boolean
    When set to true, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. Default: false
    sessionHashSubject boolean
    When set to true, the value of subject is hashed before being stored. Only applies when session_store_metadata is enabled. Default: false
    sessionIdlingTimeout number
    Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. Default: 900
    sessionMemcachedHost string
    The memcached host. Default: "127.0.0.1"
    sessionMemcachedPort number
    The memcached port. Default: 11211
    sessionMemcachedPrefix string
    The memcached session key prefix.
    sessionMemcachedSocket string
    The memcached unix socket path.
    sessionMemcachedSsl boolean
    If set to true, uses SSL to connect to memcached
    sessionMemcachedSslVerify boolean
    If set to true, verifies the validity of the memcached server SSL certificate. Default: true
    sessionRemember boolean
    Enables or disables persistent sessions. Default: false
    sessionRememberAbsoluteTimeout number
    Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 2592000
    sessionRememberCookieName string
    Persistent session cookie name. Use with the remember configuration parameter. Default: "remember"
    sessionRememberRollingTimeout number
    Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. Default: 604800
    sessionRequestHeaders string[]
    Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout request headers.
    sessionResponseHeaders string[]
    Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout response headers.
    sessionRollingTimeout number
    Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 3600
    sessionSecret string
    The session secret.
    sessionStorage string
    The session storage for session data: - cookie: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn't require a database) - memcache: stores session data in memcached - redis: stores session data in Redis. possible known values include one of ["cookie", "memcache", "memcached", "redis"]; Default: "cookie"
    sessionStoreMetadata boolean
    Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. Default: false
    sslVerify boolean
    Verify identity provider server certificate. If set to true, the plugin uses the CA certificate set in the kong.conf config parameter lua_ssl_trusted_certificate. Default: true
    timeout number
    Network IO timeout in milliseconds. Default: 10000
    tlsClientAuthCertId string
    ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server.
    tlsClientAuthSslVerify boolean
    Verify identity provider server certificate during mTLS client authentication. Default: true
    tokenCacheKeyIncludeScope boolean
    Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. Default: false
    tokenEndpoint string
    The token endpoint. If set it overrides the value in token_endpoint returned by the discovery endpoint.
    tokenEndpointAuthMethod string
    The token endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    tokenExchange AiGatewayAuthStrategyOpenidConnectConfigTokenExchange
    Details on how to accept tokens from other identity providers.
    tokenExchangeEndpoint string
    Endpoint used to perform the legacy token exchange.
    tokenHeadersClients string[]
    Extra headers passed from the client to the token endpoint.
    tokenHeadersGrants string[]
    Enable the sending of the token endpoint response headers only with certain grants: - password: with OAuth password grant - client_credentials: with OAuth client credentials grant - authorization_code: with authorization code flow - refresh_token with refresh token grant.
    tokenHeadersNames string[]
    Extra header names passed to the token endpoint.
    tokenHeadersPrefix string
    Add a prefix to the token endpoint response headers before forwarding them to the downstream client.
    tokenHeadersReplays string[]
    The names of token endpoint response headers to forward to the downstream client.
    tokenHeadersValues string[]
    Extra header values passed to the token endpoint.
    tokenPostArgsClients string[]
    Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with scope values, like this: config.token_post_args_client=scope In this case, the token would take the scope value from the query parameter or from the request body or from the header and send it to the token endpoint.
    tokenPostArgsNames string[]
    Extra post argument names passed to the token endpoint.
    tokenPostArgsValues string[]
    Extra post argument values passed to the token endpoint.
    unauthorizedDestroySession boolean
    Destroy any active session for the unauthorized requests. Default: true
    unauthorizedErrorMessage string
    The error message for the unauthorized requests (when not using the redirection). Default: "Unauthorized"
    unauthorizedRedirectUris string[]
    Where to redirect the client on unauthorized requests.
    unexpectedRedirectUris string[]
    Where to redirect the client when unexpected errors happen with the requests.
    upstreamAccessTokenHeader string
    The upstream access token header. Default: "authorization:bearer"
    upstreamAccessTokenJwkHeader string
    The upstream access token JWK header.
    upstreamHeaders AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeader[]
    The upstream claim to header mappings.
    upstreamHeadersClaims string[]
    The upstream header claims. Only top level claims are supported.
    upstreamHeadersNames string[]
    The upstream header names for the claim values.
    upstreamIdTokenHeader string
    The upstream id token header.
    upstreamIdTokenJwkHeader string
    The upstream id token JWK header.
    upstreamIntrospectionHeader string
    The upstream introspection header.
    upstreamIntrospectionJwtHeader string
    The upstream introspection JWT header.
    upstreamRefreshTokenHeader string
    The upstream refresh token header.
    upstreamSessionIdHeader string
    The upstream session id header.
    upstreamUserInfoHeader string
    The upstream user info header.
    upstreamUserInfoJwtHeader string
    The upstream user info JWT header (in case the user info returns a JWT response).
    userinfoAccept string
    The value of Accept header for user info requests: - application/json: user info response as JSON - application/jwt: user info response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt"]; Default: "application/json"
    userinfoEndpoint string
    The user info endpoint. If set it overrides the value in userinfo_endpoint returned by the discovery endpoint.
    userinfoHeadersClients string[]
    Extra headers passed from the client to the user info endpoint.
    userinfoHeadersNames string[]
    Extra header names passed to the user info endpoint.
    userinfoHeadersValues string[]
    Extra header values passed to the user info endpoint.
    userinfoQueryArgsClients string[]
    Extra query arguments passed from the client to the user info endpoint.
    userinfoQueryArgsNames string[]
    Extra query argument names passed to the user info endpoint.
    userinfoQueryArgsValues string[]
    Extra query argument values passed to the user info endpoint.
    usingPseudoIssuer boolean
    If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with config.issuer. Default: false
    verifyClaims boolean
    Verify tokens for standard claims. Default: true
    verifyNonce boolean
    Verify nonce on authorization code flow. Default: true
    verifyParameters boolean
    Verify plugin configuration against discovery. Default: false
    verifySignature boolean
    Verify signature of tokens. Default: true
    anonymous str
    An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a 4xx HTTP status code. This value must refer to the consumer id or username attribute, and not its custom_id.
    audience_claims Sequence[str]
    The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["aud"]
    audience_requireds Sequence[str]
    The audiences (audience_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    audiences Sequence[str]
    The audience passed to the authorization endpoint.
    auth_methods Sequence[str]
    Types of credentials/grants to enable. Default: ["authorizationcode","bearer","clientcredentials","introspection","kongoauth2","password","refreshtoken","session","userinfo"]
    authenticated_groups_claims Sequence[str]
    The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload.
    authorization_cookie_domain str
    The authorization cookie Domain flag.
    authorization_cookie_http_only bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    authorization_cookie_name str
    The authorization cookie name. Default: "authorization"
    authorization_cookie_path str
    The authorization cookie Path flag. Default: "/"
    authorization_cookie_same_site str
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Default"
    authorization_cookie_secure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    authorization_endpoint str
    The authorization endpoint. If set it overrides the value in authorization_endpoint returned by the discovery endpoint.
    authorization_query_args_clients Sequence[str]
    Extra query arguments passed from the client to the authorization endpoint.
    authorization_query_args_names Sequence[str]
    Extra query argument names passed to the authorization endpoint.
    authorization_query_args_values Sequence[str]
    Extra query argument values passed to the authorization endpoint.
    authorization_rolling_timeout float
    Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 600
    bearer_token_cookie_name str
    The name of the cookie in which the bearer token is passed.
    bearer_token_param_types Sequence[str]
    Where to look for the bearer token: - header: search the Authorization, access-token, and x-access-token HTTP headers - query: search the URL's query string - body: search the HTTP request body - cookie: search the HTTP request cookies specified with config.bearer_token_cookie_name. Default: ["body","header","query"]
    by_username_ignore_case bool
    If consumer_by is set to username, specify whether username can match consumers case-insensitively. Default: false
    cache_introspection bool
    Cache the introspection endpoint requests. Default: true
    cache_token_exchange bool
    Cache the legacy token exchange endpoint requests. Default: true
    cache_tokens bool
    Cache the token endpoint requests. Default: true
    cache_tokens_salt str
    Salt used for generating the cache key that is used for caching the token endpoint requests.
    cache_ttl float
    The default cache ttl in seconds that is used in case the cached object does not specify the expiry. Default: 3600
    cache_ttl_max float
    The maximum cache ttl in seconds (enforced).
    cache_ttl_min float
    The minimum cache ttl in seconds (enforced).
    cache_ttl_neg float
    The negative cache ttl in seconds.
    cache_ttl_resurrect float
    The resurrection ttl in seconds.
    cache_user_info bool
    Cache the user info requests. Default: true
    claims_forbiddens Sequence[str]
    If given, these claims are forbidden in the token payload.
    client_algs Sequence[str]
    The algorithm to use for clientsecretjwt (only HS***) or private*key*jwt authentication.
    client_arg str
    The client to use for this request (the selection is made with a request parameter with the same name). Default: "client_id"
    client_auths Sequence[str]
    The default OpenID Connect client authentication method is 'clientsecretbasic' (using 'Authorization: Basic' header), 'clientsecretpost' (credentials in body), 'clientsecretjwt' (signed client assertion in body), 'privatekeyjwt' (private key-signed assertion), 'tlsclientauth' (client certificate), 'selfsignedtlsclientauth' (self-signed client certificate), and 'none' (no authentication).
    client_credentials_param_types Sequence[str]
    Where to look for the client credentials: - header: search the HTTP headers - query: search the URL's query string - body: search from the HTTP request body. Default: ["body","header","query"]
    client_ids Sequence[str]
    The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider.
    client_jwks Sequence[AiGatewayAuthStrategyOpenidConnectConfigClientJwk]
    The JWK used for the privatekeyjwt authentication.
    client_secrets Sequence[str]
    The client secret.
    cluster_cache_redis AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedis
    cluster_cache_strategy str
    The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared. possible known values include one of ["off", "redis"]; Default: "off"
    consumer_bies Sequence[str]
    Consumer fields used for mapping: - id: try to find the matching Consumer by id - username: try to find the matching Consumer by username - custom_id: try to find the matching Consumer by custom_id. Default: ["custom_id","username"]
    consumer_claims Sequence[Sequence[str]]
    The claims used for consumer mapping. Each entry represents a claim path inside the token payload. The paths are evaluated in order, and the first matching claim is used.
    consumer_groups_claims Sequence[str]
    The claim used for consumer groups mapping. If multiple values are set, it means the claim is inside a nested object of the token payload.
    consumer_groups_optional bool
    Do not terminate the request if consumer groups mapping fails. Default: false
    consumer_optional bool
    Do not terminate the request if consumer mapping fails. Default: false
    credential_claims Sequence[str]
    The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["sub"]
    disable_sessions Sequence[str]
    Disable issuing the session cookie with the specified grants.
    discovery_headers_names Sequence[str]
    Extra header names passed to the discovery endpoint.
    discovery_headers_values Sequence[str]
    Extra header values passed to the discovery endpoint.
    display_errors bool
    Display errors on failure responses. Default: false
    domains Sequence[str]
    The allowed values for the hd claim.
    downstream_access_token_header str
    The downstream access token header.
    downstream_access_token_jwk_header str
    The downstream access token JWK header.
    downstream_headers Sequence[AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeader]
    The downstream claim to header mappings.
    downstream_headers_claims Sequence[str]
    The downstream header claims. Only top level claims are supported.
    downstream_headers_names Sequence[str]
    The downstream header names for the claim values.
    downstream_id_token_header str
    The downstream id token header.
    downstream_id_token_jwk_header str
    The downstream id token JWK header.
    downstream_introspection_header str
    The downstream introspection header.
    downstream_introspection_jwt_header str
    The downstream introspection JWT header.
    downstream_refresh_token_header str
    The downstream refresh token header.
    downstream_session_id_header str
    The downstream session id header.
    downstream_user_info_header str
    The downstream user info header.
    downstream_user_info_jwt_header str
    The downstream user info JWT header (in case the user info returns a JWT response).
    dpop_proof_lifetime float
    Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. Default: 300
    dpop_use_nonce bool
    Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. Default: false
    enable_hs_signatures bool
    Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). Default: false
    end_session_endpoint str
    The end session endpoint. If set it overrides the value in end_session_endpoint returned by the discovery endpoint.
    expose_error_code bool
    Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to false to disable. Default: true
    extra_jwks_uris Sequence[str]
    JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery).
    forbidden_destroy_session bool
    Destroy any active session for the forbidden requests. Default: true
    forbidden_error_message str
    The error message for the forbidden requests (when not using the redirection). Default: "Forbidden"
    forbidden_redirect_uris Sequence[str]
    Where to redirect the client on forbidden requests.
    groups_claims Sequence[str]
    The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["groups"]
    groups_requireds Sequence[str]
    The groups (groups_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    hide_credentials bool
    Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. Default: true
    http_proxy str
    The HTTP proxy.
    http_proxy_authorization str
    The HTTP proxy authorization.
    http_version float
    The HTTP version used for the requests by this plugin: - 1.1: HTTP 1.1 (the default) - 1.0: HTTP 1.0.
    https_proxy str
    The HTTPS proxy.
    https_proxy_authorization str
    The HTTPS proxy authorization.
    id_token_param_name str
    The name of the parameter used to pass the id token.
    id_token_param_types Sequence[str]
    Where to look for the id token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    ignore_signatures Sequence[str]
    Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - password: OAuth password grant - client_credentials: OAuth client credentials grant - authorization_code: authorization code flow - refresh_token: OAuth refresh token grant - session: session cookie authentication - introspection: OAuth introspection - userinfo: OpenID Connect user info endpoint authentication. Default: []
    introspect_jwt_tokens bool
    Specifies whether to introspect the JWT access tokens (can be used to check for revocations). Default: false
    introspection_accept str
    The value of Accept header for introspection requests: - application/json: introspection response as JSON - application/token-introspection+jwt: introspection response as JWT (from the current IETF draft document) - application/jwt: introspection response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt", "application/token-introspection+jwt"]; Default: "application/json"
    introspection_check_active bool
    Check that the introspection response has an active claim with a value of true. Default: true
    introspection_endpoint str
    The introspection endpoint. If set it overrides the value in introspection_endpoint returned by the discovery endpoint.
    introspection_endpoint_auth_method str
    The introspection endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["clientsecretbasic", "clientsecretjwt", "clientsecretpost", "none", "privatekeyjwt", "selfsignedtlsclientauth", "tlsclientauth"]
    introspection_headers_clients Sequence[str]
    Extra headers passed from the client to the introspection endpoint.
    introspection_headers_names Sequence[str]
    Extra header names passed to the introspection endpoint.
    introspection_headers_values Sequence[str]
    Extra header values passed to the introspection endpoint.
    introspection_hint str
    Introspection hint parameter value passed to the introspection endpoint. Default: "access_token"
    introspection_post_args_client_headers Sequence[str]
    Extra post arguments passed from the client headers to the introspection endpoint.
    introspection_post_args_clients Sequence[str]
    Extra post arguments passed from the client to the introspection endpoint.
    introspection_post_args_names Sequence[str]
    Extra post argument names passed to the introspection endpoint.
    introspection_post_args_values Sequence[str]
    Extra post argument values passed to the introspection endpoint.
    introspection_token_param_name str
    Designate token's parameter name for introspection. Default: "token"
    issuer str
    The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure config.using_pseudo_issuer=true. Not Null
    issuers_alloweds Sequence[str]
    The issuers allowed to be present in the tokens (iss claim).
    jwks_endpoint str
    Overrides the jwks_uri returned by discovery. Use when the IdP exposes a non-standard JWKS endpoint.
    jwt_session_claim str
    The claim to match against the JWT session cookie. Default: "sid"
    jwt_session_cookie str
    The name of the JWT session cookie.
    keepalive bool
    Use keepalive with the HTTP client. Default: true
    leeway float
    Defines leeway time (in seconds) for auth_time, exp, iat, and nbf claims. Default: 0
    login_action str
    What to do after successful login: - upstream: proxy request to upstream service - response: terminate request with a response - redirect: redirect to a different location. possible known values include one of ["redirect", "response", "upstream"]; Default: "upstream"
    login_methods Sequence[str]
    Enable login functionality with specified grants. Default: ["authorization_code"]
    login_redirect_mode str
    Where to place login_tokens when using redirect login_action: - query: place tokens in query string - fragment: place tokens in url fragment (not readable by servers). possible known values include one of ["fragment", "query"]; Default: "fragment"
    login_redirect_uris Sequence[str]
    Where to redirect the client when login_action is set to redirect.
    login_tokens Sequence[str]
    What tokens to include in response body or redirect query string or fragment: - id_token: include id token - access_token: include access token - refresh_token: include refresh token - tokens: include the full token endpoint response - introspection: include introspection response. Default: ["id_token"]
    logout_methods Sequence[str]
    The request methods that can activate the logout: - POST: HTTP POST method - GET: HTTP GET method - DELETE: HTTP DELETE method. Default: ["DELETE","POST"]
    logout_post_arg str
    The request body argument that activates the logout.
    logout_query_arg str
    The request query argument that activates the logout.
    logout_redirect_uris Sequence[str]
    Where to redirect the client after the logout.
    logout_revoke bool
    Revoke tokens as part of the logout.
    logout_revoke_access_token bool
    Revoke the access token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logout_revoke_refresh_token bool
    Revoke the refresh token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logout_uri_suffix str
    The request URI suffix that activates the logout.
    max_age float
    The maximum age (in seconds) compared to the auth_time claim.
    mtls_introspection_endpoint str
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtls_revocation_endpoint str
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtls_token_endpoint str
    Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    no_proxy str
    Do not use proxy with these hosts.
    password_param_types Sequence[str]
    Where to look for the username and password: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    preserve_query_args bool
    With this parameter, you can preserve request query arguments even when doing authorization code flow. Default: false
    principals AiGatewayAuthStrategyOpenidConnectConfigPrincipals
    Configuration for Kong Identity principal hydration after token verification.
    proof_of_possession_auth_methods_validation bool
    If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. Default: true
    proof_of_possession_dpop str
    Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    proof_of_possession_mtls str
    Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    pushed_authorization_request_endpoint str
    The pushed authorization endpoint. If set it overrides the value in pushed_authorization_request_endpoint returned by the discovery endpoint.
    pushed_authorization_request_endpoint_auth_method str
    The pushed authorization request endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    redirect_uris Sequence[str]
    The redirect URI passed to the authorization and token endpoints.
    redis AiGatewayAuthStrategyOpenidConnectConfigRedis
    rediscovery_lifetime float
    Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. Default: 30
    refresh_token_param_name str
    The name of the parameter used to pass the refresh token.
    refresh_token_param_types Sequence[str]
    Where to look for the refresh token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    refresh_tokens bool
    Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a refresh_token available. Default: true
    require_proof_key_for_code_exchange bool
    Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of code_challenge_methods_supported, and enabled automatically (in case the code_challenge_methods_supported is missing, the PKCE will not be enabled).
    require_pushed_authorization_requests bool
    Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of require_pushed_authorization_requests (which defaults to false).
    require_signed_request_object bool
    Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of require_signed_request_object, and enabled automatically (in case the require_signed_request_object is missing, the feature will not be enabled).
    resolve_distributed_claims bool
    Distributed claims are represented by the _claim_names and _claim_sources members of the JSON object containing the claims. If this parameter is set to true, the plugin explicitly resolves these distributed claims. Default: false
    response_mode str
    Response mode passed to the authorization endpoint: - query: for parameters in query string - form_post: for parameters in request body - fragment: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - query.jwt, form_post.jwt, fragment.jwt: similar to query, form_post and fragment but the parameters are encoded in a JWT - jwt: shortcut that indicates the default encoding for the requested response type. possible known values include one of ["form_post", "form_post.jwt", "fragment", "fragment.jwt", "jwt", "query", "query.jwt"]; Default: "query"
    response_types Sequence[str]
    The response type passed to the authorization endpoint. Default: ["code"]
    reverify bool
    Specifies whether to always verify tokens stored in the session. Default: false
    revocation_endpoint str
    The revocation endpoint. If set it overrides the value in revocation_endpoint returned by the discovery endpoint.
    revocation_endpoint_auth_method str
    The revocation endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    revocation_token_param_name str
    Designate token's parameter name for revocation. Default: "token"
    roles_claims Sequence[str]
    The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["roles"]
    roles_requireds Sequence[str]
    The roles (roles_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    run_on_preflight bool
    Specifies whether to run this plugin on pre-flight (OPTIONS) requests. Default: true
    scopes Sequence[str]
    The scopes passed to the authorization and token endpoints. Default: ["openid"]
    scopes_claims Sequence[str]
    The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["scope"]
    scopes_requireds Sequence[str]
    The scopes (scopes_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    search_user_info bool
    Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. Default: false
    session_absolute_timeout float
    Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 86400
    session_audience str
    The session audience, which is the intended target application. For example "my-application". Default: "default"
    session_binds Sequence[str]
    Bind the session to data acquired from the HTTP request or connection.
    session_cookie_domain str
    The session cookie Domain flag.
    session_cookie_http_only bool
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    session_cookie_name str
    The session cookie name. Default: "session"
    session_cookie_path str
    The session cookie Path flag. Default: "/"
    session_cookie_same_site str
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Lax"
    session_cookie_secure bool
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    session_enforce_same_subject bool
    When set to true, audiences are forced to share the same subject. Default: false
    session_hash_storage_key bool
    When set to true, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. Default: false
    session_hash_subject bool
    When set to true, the value of subject is hashed before being stored. Only applies when session_store_metadata is enabled. Default: false
    session_idling_timeout float
    Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. Default: 900
    session_memcached_host str
    The memcached host. Default: "127.0.0.1"
    session_memcached_port float
    The memcached port. Default: 11211
    session_memcached_prefix str
    The memcached session key prefix.
    session_memcached_socket str
    The memcached unix socket path.
    session_memcached_ssl bool
    If set to true, uses SSL to connect to memcached
    session_memcached_ssl_verify bool
    If set to true, verifies the validity of the memcached server SSL certificate. Default: true
    session_remember bool
    Enables or disables persistent sessions. Default: false
    session_remember_absolute_timeout float
    Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 2592000
    session_remember_cookie_name str
    Persistent session cookie name. Use with the remember configuration parameter. Default: "remember"
    session_remember_rolling_timeout float
    Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. Default: 604800
    session_request_headers Sequence[str]
    Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout request headers.
    session_response_headers Sequence[str]
    Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout response headers.
    session_rolling_timeout float
    Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 3600
    session_secret str
    The session secret.
    session_storage str
    The session storage for session data: - cookie: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn't require a database) - memcache: stores session data in memcached - redis: stores session data in Redis. possible known values include one of ["cookie", "memcache", "memcached", "redis"]; Default: "cookie"
    session_store_metadata bool
    Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. Default: false
    ssl_verify bool
    Verify identity provider server certificate. If set to true, the plugin uses the CA certificate set in the kong.conf config parameter lua_ssl_trusted_certificate. Default: true
    timeout float
    Network IO timeout in milliseconds. Default: 10000
    tls_client_auth_cert_id str
    ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server.
    tls_client_auth_ssl_verify bool
    Verify identity provider server certificate during mTLS client authentication. Default: true
    token_cache_key_include_scope bool
    Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. Default: false
    token_endpoint str
    The token endpoint. If set it overrides the value in token_endpoint returned by the discovery endpoint.
    token_endpoint_auth_method str
    The token endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    token_exchange AiGatewayAuthStrategyOpenidConnectConfigTokenExchange
    Details on how to accept tokens from other identity providers.
    token_exchange_endpoint str
    Endpoint used to perform the legacy token exchange.
    token_headers_clients Sequence[str]
    Extra headers passed from the client to the token endpoint.
    token_headers_grants Sequence[str]
    Enable the sending of the token endpoint response headers only with certain grants: - password: with OAuth password grant - client_credentials: with OAuth client credentials grant - authorization_code: with authorization code flow - refresh_token with refresh token grant.
    token_headers_names Sequence[str]
    Extra header names passed to the token endpoint.
    token_headers_prefix str
    Add a prefix to the token endpoint response headers before forwarding them to the downstream client.
    token_headers_replays Sequence[str]
    The names of token endpoint response headers to forward to the downstream client.
    token_headers_values Sequence[str]
    Extra header values passed to the token endpoint.
    token_post_args_clients Sequence[str]
    Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with scope values, like this: config.token_post_args_client=scope In this case, the token would take the scope value from the query parameter or from the request body or from the header and send it to the token endpoint.
    token_post_args_names Sequence[str]
    Extra post argument names passed to the token endpoint.
    token_post_args_values Sequence[str]
    Extra post argument values passed to the token endpoint.
    unauthorized_destroy_session bool
    Destroy any active session for the unauthorized requests. Default: true
    unauthorized_error_message str
    The error message for the unauthorized requests (when not using the redirection). Default: "Unauthorized"
    unauthorized_redirect_uris Sequence[str]
    Where to redirect the client on unauthorized requests.
    unexpected_redirect_uris Sequence[str]
    Where to redirect the client when unexpected errors happen with the requests.
    upstream_access_token_header str
    The upstream access token header. Default: "authorization:bearer"
    upstream_access_token_jwk_header str
    The upstream access token JWK header.
    upstream_headers Sequence[AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeader]
    The upstream claim to header mappings.
    upstream_headers_claims Sequence[str]
    The upstream header claims. Only top level claims are supported.
    upstream_headers_names Sequence[str]
    The upstream header names for the claim values.
    upstream_id_token_header str
    The upstream id token header.
    upstream_id_token_jwk_header str
    The upstream id token JWK header.
    upstream_introspection_header str
    The upstream introspection header.
    upstream_introspection_jwt_header str
    The upstream introspection JWT header.
    upstream_refresh_token_header str
    The upstream refresh token header.
    upstream_session_id_header str
    The upstream session id header.
    upstream_user_info_header str
    The upstream user info header.
    upstream_user_info_jwt_header str
    The upstream user info JWT header (in case the user info returns a JWT response).
    userinfo_accept str
    The value of Accept header for user info requests: - application/json: user info response as JSON - application/jwt: user info response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt"]; Default: "application/json"
    userinfo_endpoint str
    The user info endpoint. If set it overrides the value in userinfo_endpoint returned by the discovery endpoint.
    userinfo_headers_clients Sequence[str]
    Extra headers passed from the client to the user info endpoint.
    userinfo_headers_names Sequence[str]
    Extra header names passed to the user info endpoint.
    userinfo_headers_values Sequence[str]
    Extra header values passed to the user info endpoint.
    userinfo_query_args_clients Sequence[str]
    Extra query arguments passed from the client to the user info endpoint.
    userinfo_query_args_names Sequence[str]
    Extra query argument names passed to the user info endpoint.
    userinfo_query_args_values Sequence[str]
    Extra query argument values passed to the user info endpoint.
    using_pseudo_issuer bool
    If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with config.issuer. Default: false
    verify_claims bool
    Verify tokens for standard claims. Default: true
    verify_nonce bool
    Verify nonce on authorization code flow. Default: true
    verify_parameters bool
    Verify plugin configuration against discovery. Default: false
    verify_signature bool
    Verify signature of tokens. Default: true
    anonymous String
    An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a 4xx HTTP status code. This value must refer to the consumer id or username attribute, and not its custom_id.
    audienceClaims List<String>
    The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["aud"]
    audienceRequireds List<String>
    The audiences (audience_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    audiences List<String>
    The audience passed to the authorization endpoint.
    authMethods List<String>
    Types of credentials/grants to enable. Default: ["authorizationcode","bearer","clientcredentials","introspection","kongoauth2","password","refreshtoken","session","userinfo"]
    authenticatedGroupsClaims List<String>
    The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload.
    authorizationCookieDomain String
    The authorization cookie Domain flag.
    authorizationCookieHttpOnly Boolean
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    authorizationCookieName String
    The authorization cookie name. Default: "authorization"
    authorizationCookiePath String
    The authorization cookie Path flag. Default: "/"
    authorizationCookieSameSite String
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Default"
    authorizationCookieSecure Boolean
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    authorizationEndpoint String
    The authorization endpoint. If set it overrides the value in authorization_endpoint returned by the discovery endpoint.
    authorizationQueryArgsClients List<String>
    Extra query arguments passed from the client to the authorization endpoint.
    authorizationQueryArgsNames List<String>
    Extra query argument names passed to the authorization endpoint.
    authorizationQueryArgsValues List<String>
    Extra query argument values passed to the authorization endpoint.
    authorizationRollingTimeout Number
    Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 600
    bearerTokenCookieName String
    The name of the cookie in which the bearer token is passed.
    bearerTokenParamTypes List<String>
    Where to look for the bearer token: - header: search the Authorization, access-token, and x-access-token HTTP headers - query: search the URL's query string - body: search the HTTP request body - cookie: search the HTTP request cookies specified with config.bearer_token_cookie_name. Default: ["body","header","query"]
    byUsernameIgnoreCase Boolean
    If consumer_by is set to username, specify whether username can match consumers case-insensitively. Default: false
    cacheIntrospection Boolean
    Cache the introspection endpoint requests. Default: true
    cacheTokenExchange Boolean
    Cache the legacy token exchange endpoint requests. Default: true
    cacheTokens Boolean
    Cache the token endpoint requests. Default: true
    cacheTokensSalt String
    Salt used for generating the cache key that is used for caching the token endpoint requests.
    cacheTtl Number
    The default cache ttl in seconds that is used in case the cached object does not specify the expiry. Default: 3600
    cacheTtlMax Number
    The maximum cache ttl in seconds (enforced).
    cacheTtlMin Number
    The minimum cache ttl in seconds (enforced).
    cacheTtlNeg Number
    The negative cache ttl in seconds.
    cacheTtlResurrect Number
    The resurrection ttl in seconds.
    cacheUserInfo Boolean
    Cache the user info requests. Default: true
    claimsForbiddens List<String>
    If given, these claims are forbidden in the token payload.
    clientAlgs List<String>
    The algorithm to use for clientsecretjwt (only HS***) or private*key*jwt authentication.
    clientArg String
    The client to use for this request (the selection is made with a request parameter with the same name). Default: "client_id"
    clientAuths List<String>
    The default OpenID Connect client authentication method is 'clientsecretbasic' (using 'Authorization: Basic' header), 'clientsecretpost' (credentials in body), 'clientsecretjwt' (signed client assertion in body), 'privatekeyjwt' (private key-signed assertion), 'tlsclientauth' (client certificate), 'selfsignedtlsclientauth' (self-signed client certificate), and 'none' (no authentication).
    clientCredentialsParamTypes List<String>
    Where to look for the client credentials: - header: search the HTTP headers - query: search the URL's query string - body: search from the HTTP request body. Default: ["body","header","query"]
    clientIds List<String>
    The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider.
    clientJwks List<Property Map>
    The JWK used for the privatekeyjwt authentication.
    clientSecrets List<String>
    The client secret.
    clusterCacheRedis Property Map
    clusterCacheStrategy String
    The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared. possible known values include one of ["off", "redis"]; Default: "off"
    consumerBies List<String>
    Consumer fields used for mapping: - id: try to find the matching Consumer by id - username: try to find the matching Consumer by username - custom_id: try to find the matching Consumer by custom_id. Default: ["custom_id","username"]
    consumerClaims List<List<String>>
    The claims used for consumer mapping. Each entry represents a claim path inside the token payload. The paths are evaluated in order, and the first matching claim is used.
    consumerGroupsClaims List<String>
    The claim used for consumer groups mapping. If multiple values are set, it means the claim is inside a nested object of the token payload.
    consumerGroupsOptional Boolean
    Do not terminate the request if consumer groups mapping fails. Default: false
    consumerOptional Boolean
    Do not terminate the request if consumer mapping fails. Default: false
    credentialClaims List<String>
    The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["sub"]
    disableSessions List<String>
    Disable issuing the session cookie with the specified grants.
    discoveryHeadersNames List<String>
    Extra header names passed to the discovery endpoint.
    discoveryHeadersValues List<String>
    Extra header values passed to the discovery endpoint.
    displayErrors Boolean
    Display errors on failure responses. Default: false
    domains List<String>
    The allowed values for the hd claim.
    downstreamAccessTokenHeader String
    The downstream access token header.
    downstreamAccessTokenJwkHeader String
    The downstream access token JWK header.
    downstreamHeaders List<Property Map>
    The downstream claim to header mappings.
    downstreamHeadersClaims List<String>
    The downstream header claims. Only top level claims are supported.
    downstreamHeadersNames List<String>
    The downstream header names for the claim values.
    downstreamIdTokenHeader String
    The downstream id token header.
    downstreamIdTokenJwkHeader String
    The downstream id token JWK header.
    downstreamIntrospectionHeader String
    The downstream introspection header.
    downstreamIntrospectionJwtHeader String
    The downstream introspection JWT header.
    downstreamRefreshTokenHeader String
    The downstream refresh token header.
    downstreamSessionIdHeader String
    The downstream session id header.
    downstreamUserInfoHeader String
    The downstream user info header.
    downstreamUserInfoJwtHeader String
    The downstream user info JWT header (in case the user info returns a JWT response).
    dpopProofLifetime Number
    Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. Default: 300
    dpopUseNonce Boolean
    Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. Default: false
    enableHsSignatures Boolean
    Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). Default: false
    endSessionEndpoint String
    The end session endpoint. If set it overrides the value in end_session_endpoint returned by the discovery endpoint.
    exposeErrorCode Boolean
    Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to false to disable. Default: true
    extraJwksUris List<String>
    JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery).
    forbiddenDestroySession Boolean
    Destroy any active session for the forbidden requests. Default: true
    forbiddenErrorMessage String
    The error message for the forbidden requests (when not using the redirection). Default: "Forbidden"
    forbiddenRedirectUris List<String>
    Where to redirect the client on forbidden requests.
    groupsClaims List<String>
    The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["groups"]
    groupsRequireds List<String>
    The groups (groups_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    hideCredentials Boolean
    Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. Default: true
    httpProxy String
    The HTTP proxy.
    httpProxyAuthorization String
    The HTTP proxy authorization.
    httpVersion Number
    The HTTP version used for the requests by this plugin: - 1.1: HTTP 1.1 (the default) - 1.0: HTTP 1.0.
    httpsProxy String
    The HTTPS proxy.
    httpsProxyAuthorization String
    The HTTPS proxy authorization.
    idTokenParamName String
    The name of the parameter used to pass the id token.
    idTokenParamTypes List<String>
    Where to look for the id token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    ignoreSignatures List<String>
    Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - password: OAuth password grant - client_credentials: OAuth client credentials grant - authorization_code: authorization code flow - refresh_token: OAuth refresh token grant - session: session cookie authentication - introspection: OAuth introspection - userinfo: OpenID Connect user info endpoint authentication. Default: []
    introspectJwtTokens Boolean
    Specifies whether to introspect the JWT access tokens (can be used to check for revocations). Default: false
    introspectionAccept String
    The value of Accept header for introspection requests: - application/json: introspection response as JSON - application/token-introspection+jwt: introspection response as JWT (from the current IETF draft document) - application/jwt: introspection response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt", "application/token-introspection+jwt"]; Default: "application/json"
    introspectionCheckActive Boolean
    Check that the introspection response has an active claim with a value of true. Default: true
    introspectionEndpoint String
    The introspection endpoint. If set it overrides the value in introspection_endpoint returned by the discovery endpoint.
    introspectionEndpointAuthMethod String
    The introspection endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["clientsecretbasic", "clientsecretjwt", "clientsecretpost", "none", "privatekeyjwt", "selfsignedtlsclientauth", "tlsclientauth"]
    introspectionHeadersClients List<String>
    Extra headers passed from the client to the introspection endpoint.
    introspectionHeadersNames List<String>
    Extra header names passed to the introspection endpoint.
    introspectionHeadersValues List<String>
    Extra header values passed to the introspection endpoint.
    introspectionHint String
    Introspection hint parameter value passed to the introspection endpoint. Default: "access_token"
    introspectionPostArgsClientHeaders List<String>
    Extra post arguments passed from the client headers to the introspection endpoint.
    introspectionPostArgsClients List<String>
    Extra post arguments passed from the client to the introspection endpoint.
    introspectionPostArgsNames List<String>
    Extra post argument names passed to the introspection endpoint.
    introspectionPostArgsValues List<String>
    Extra post argument values passed to the introspection endpoint.
    introspectionTokenParamName String
    Designate token's parameter name for introspection. Default: "token"
    issuer String
    The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure config.using_pseudo_issuer=true. Not Null
    issuersAlloweds List<String>
    The issuers allowed to be present in the tokens (iss claim).
    jwksEndpoint String
    Overrides the jwks_uri returned by discovery. Use when the IdP exposes a non-standard JWKS endpoint.
    jwtSessionClaim String
    The claim to match against the JWT session cookie. Default: "sid"
    jwtSessionCookie String
    The name of the JWT session cookie.
    keepalive Boolean
    Use keepalive with the HTTP client. Default: true
    leeway Number
    Defines leeway time (in seconds) for auth_time, exp, iat, and nbf claims. Default: 0
    loginAction String
    What to do after successful login: - upstream: proxy request to upstream service - response: terminate request with a response - redirect: redirect to a different location. possible known values include one of ["redirect", "response", "upstream"]; Default: "upstream"
    loginMethods List<String>
    Enable login functionality with specified grants. Default: ["authorization_code"]
    loginRedirectMode String
    Where to place login_tokens when using redirect login_action: - query: place tokens in query string - fragment: place tokens in url fragment (not readable by servers). possible known values include one of ["fragment", "query"]; Default: "fragment"
    loginRedirectUris List<String>
    Where to redirect the client when login_action is set to redirect.
    loginTokens List<String>
    What tokens to include in response body or redirect query string or fragment: - id_token: include id token - access_token: include access token - refresh_token: include refresh token - tokens: include the full token endpoint response - introspection: include introspection response. Default: ["id_token"]
    logoutMethods List<String>
    The request methods that can activate the logout: - POST: HTTP POST method - GET: HTTP GET method - DELETE: HTTP DELETE method. Default: ["DELETE","POST"]
    logoutPostArg String
    The request body argument that activates the logout.
    logoutQueryArg String
    The request query argument that activates the logout.
    logoutRedirectUris List<String>
    Where to redirect the client after the logout.
    logoutRevoke Boolean
    Revoke tokens as part of the logout.
    logoutRevokeAccessToken Boolean
    Revoke the access token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logoutRevokeRefreshToken Boolean
    Revoke the refresh token as part of the logout. Requires logout_revoke to be set to true. Default: true
    logoutUriSuffix String
    The request URI suffix that activates the logout.
    maxAge Number
    The maximum age (in seconds) compared to the auth_time claim.
    mtlsIntrospectionEndpoint String
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtlsRevocationEndpoint String
    Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    mtlsTokenEndpoint String
    Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in mtls_endpoint_aliases returned by the discovery endpoint.
    noProxy String
    Do not use proxy with these hosts.
    passwordParamTypes List<String>
    Where to look for the username and password: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    preserveQueryArgs Boolean
    With this parameter, you can preserve request query arguments even when doing authorization code flow. Default: false
    principals Property Map
    Configuration for Kong Identity principal hydration after token verification.
    proofOfPossessionAuthMethodsValidation Boolean
    If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. Default: true
    proofOfPossessionDpop String
    Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    proofOfPossessionMtls String
    Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401. possible known values include one of ["off", "optional", "strict"]; Default: "off"
    pushedAuthorizationRequestEndpoint String
    The pushed authorization endpoint. If set it overrides the value in pushed_authorization_request_endpoint returned by the discovery endpoint.
    pushedAuthorizationRequestEndpointAuthMethod String
    The pushed authorization request endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    redirectUris List<String>
    The redirect URI passed to the authorization and token endpoints.
    redis Property Map
    rediscoveryLifetime Number
    Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. Default: 30
    refreshTokenParamName String
    The name of the parameter used to pass the refresh token.
    refreshTokenParamTypes List<String>
    Where to look for the refresh token: - header: search the HTTP headers - query: search the URL's query string - body: search the HTTP request body. Default: ["body","header","query"]
    refreshTokens Boolean
    Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a refresh_token available. Default: true
    requireProofKeyForCodeExchange Boolean
    Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of code_challenge_methods_supported, and enabled automatically (in case the code_challenge_methods_supported is missing, the PKCE will not be enabled).
    requirePushedAuthorizationRequests Boolean
    Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of require_pushed_authorization_requests (which defaults to false).
    requireSignedRequestObject Boolean
    Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of require_signed_request_object, and enabled automatically (in case the require_signed_request_object is missing, the feature will not be enabled).
    resolveDistributedClaims Boolean
    Distributed claims are represented by the _claim_names and _claim_sources members of the JSON object containing the claims. If this parameter is set to true, the plugin explicitly resolves these distributed claims. Default: false
    responseMode String
    Response mode passed to the authorization endpoint: - query: for parameters in query string - form_post: for parameters in request body - fragment: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - query.jwt, form_post.jwt, fragment.jwt: similar to query, form_post and fragment but the parameters are encoded in a JWT - jwt: shortcut that indicates the default encoding for the requested response type. possible known values include one of ["form_post", "form_post.jwt", "fragment", "fragment.jwt", "jwt", "query", "query.jwt"]; Default: "query"
    responseTypes List<String>
    The response type passed to the authorization endpoint. Default: ["code"]
    reverify Boolean
    Specifies whether to always verify tokens stored in the session. Default: false
    revocationEndpoint String
    The revocation endpoint. If set it overrides the value in revocation_endpoint returned by the discovery endpoint.
    revocationEndpointAuthMethod String
    The revocation endpoint authentication method: : client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    revocationTokenParamName String
    Designate token's parameter name for revocation. Default: "token"
    rolesClaims List<String>
    The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["roles"]
    rolesRequireds List<String>
    The roles (roles_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    runOnPreflight Boolean
    Specifies whether to run this plugin on pre-flight (OPTIONS) requests. Default: true
    scopes List<String>
    The scopes passed to the authorization and token endpoints. Default: ["openid"]
    scopesClaims List<String>
    The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. Default: ["scope"]
    scopesRequireds List<String>
    The scopes (scopes_claim claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both AND / OR cases.
    searchUserInfo Boolean
    Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. Default: false
    sessionAbsoluteTimeout Number
    Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 86400
    sessionAudience String
    The session audience, which is the intended target application. For example "my-application". Default: "default"
    sessionBinds List<String>
    Bind the session to data acquired from the HTTP request or connection.
    sessionCookieDomain String
    The session cookie Domain flag.
    sessionCookieHttpOnly Boolean
    Forbids JavaScript from accessing the cookie, for example, through the Document.cookie property. Default: true
    sessionCookieName String
    The session cookie name. Default: "session"
    sessionCookiePath String
    The session cookie Path flag. Default: "/"
    sessionCookieSameSite String
    Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. possible known values include one of ["Default", "Lax", "None", "Strict"]; Default: "Lax"
    sessionCookieSecure Boolean
    Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.
    sessionEnforceSameSubject Boolean
    When set to true, audiences are forced to share the same subject. Default: false
    sessionHashStorageKey Boolean
    When set to true, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. Default: false
    sessionHashSubject Boolean
    When set to true, the value of subject is hashed before being stored. Only applies when session_store_metadata is enabled. Default: false
    sessionIdlingTimeout Number
    Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. Default: 900
    sessionMemcachedHost String
    The memcached host. Default: "127.0.0.1"
    sessionMemcachedPort Number
    The memcached port. Default: 11211
    sessionMemcachedPrefix String
    The memcached session key prefix.
    sessionMemcachedSocket String
    The memcached unix socket path.
    sessionMemcachedSsl Boolean
    If set to true, uses SSL to connect to memcached
    sessionMemcachedSslVerify Boolean
    If set to true, verifies the validity of the memcached server SSL certificate. Default: true
    sessionRemember Boolean
    Enables or disables persistent sessions. Default: false
    sessionRememberAbsoluteTimeout Number
    Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. Default: 2592000
    sessionRememberCookieName String
    Persistent session cookie name. Use with the remember configuration parameter. Default: "remember"
    sessionRememberRollingTimeout Number
    Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. Default: 604800
    sessionRequestHeaders List<String>
    Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout request headers.
    sessionResponseHeaders List<String>
    Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. [ "id", "timeout" ] will set Session-Id and Session-Timeout response headers.
    sessionRollingTimeout Number
    Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. Default: 3600
    sessionSecret String
    The session secret.
    sessionStorage String
    The session storage for session data: - cookie: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn't require a database) - memcache: stores session data in memcached - redis: stores session data in Redis. possible known values include one of ["cookie", "memcache", "memcached", "redis"]; Default: "cookie"
    sessionStoreMetadata Boolean
    Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. Default: false
    sslVerify Boolean
    Verify identity provider server certificate. If set to true, the plugin uses the CA certificate set in the kong.conf config parameter lua_ssl_trusted_certificate. Default: true
    timeout Number
    Network IO timeout in milliseconds. Default: 10000
    tlsClientAuthCertId String
    ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server.
    tlsClientAuthSslVerify Boolean
    Verify identity provider server certificate during mTLS client authentication. Default: true
    tokenCacheKeyIncludeScope Boolean
    Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. Default: false
    tokenEndpoint String
    The token endpoint. If set it overrides the value in token_endpoint returned by the discovery endpoint.
    tokenEndpointAuthMethod String
    The token endpoint authentication method: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, or none: do not authenticate. possible known values include one of ["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]
    tokenExchange Property Map
    Details on how to accept tokens from other identity providers.
    tokenExchangeEndpoint String
    Endpoint used to perform the legacy token exchange.
    tokenHeadersClients List<String>
    Extra headers passed from the client to the token endpoint.
    tokenHeadersGrants List<String>
    Enable the sending of the token endpoint response headers only with certain grants: - password: with OAuth password grant - client_credentials: with OAuth client credentials grant - authorization_code: with authorization code flow - refresh_token with refresh token grant.
    tokenHeadersNames List<String>
    Extra header names passed to the token endpoint.
    tokenHeadersPrefix String
    Add a prefix to the token endpoint response headers before forwarding them to the downstream client.
    tokenHeadersReplays List<String>
    The names of token endpoint response headers to forward to the downstream client.
    tokenHeadersValues List<String>
    Extra header values passed to the token endpoint.
    tokenPostArgsClients List<String>
    Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with scope values, like this: config.token_post_args_client=scope In this case, the token would take the scope value from the query parameter or from the request body or from the header and send it to the token endpoint.
    tokenPostArgsNames List<String>
    Extra post argument names passed to the token endpoint.
    tokenPostArgsValues List<String>
    Extra post argument values passed to the token endpoint.
    unauthorizedDestroySession Boolean
    Destroy any active session for the unauthorized requests. Default: true
    unauthorizedErrorMessage String
    The error message for the unauthorized requests (when not using the redirection). Default: "Unauthorized"
    unauthorizedRedirectUris List<String>
    Where to redirect the client on unauthorized requests.
    unexpectedRedirectUris List<String>
    Where to redirect the client when unexpected errors happen with the requests.
    upstreamAccessTokenHeader String
    The upstream access token header. Default: "authorization:bearer"
    upstreamAccessTokenJwkHeader String
    The upstream access token JWK header.
    upstreamHeaders List<Property Map>
    The upstream claim to header mappings.
    upstreamHeadersClaims List<String>
    The upstream header claims. Only top level claims are supported.
    upstreamHeadersNames List<String>
    The upstream header names for the claim values.
    upstreamIdTokenHeader String
    The upstream id token header.
    upstreamIdTokenJwkHeader String
    The upstream id token JWK header.
    upstreamIntrospectionHeader String
    The upstream introspection header.
    upstreamIntrospectionJwtHeader String
    The upstream introspection JWT header.
    upstreamRefreshTokenHeader String
    The upstream refresh token header.
    upstreamSessionIdHeader String
    The upstream session id header.
    upstreamUserInfoHeader String
    The upstream user info header.
    upstreamUserInfoJwtHeader String
    The upstream user info JWT header (in case the user info returns a JWT response).
    userinfoAccept String
    The value of Accept header for user info requests: - application/json: user info response as JSON - application/jwt: user info response as JWT (from the obsolete IETF draft document). possible known values include one of ["application/json", "application/jwt"]; Default: "application/json"
    userinfoEndpoint String
    The user info endpoint. If set it overrides the value in userinfo_endpoint returned by the discovery endpoint.
    userinfoHeadersClients List<String>
    Extra headers passed from the client to the user info endpoint.
    userinfoHeadersNames List<String>
    Extra header names passed to the user info endpoint.
    userinfoHeadersValues List<String>
    Extra header values passed to the user info endpoint.
    userinfoQueryArgsClients List<String>
    Extra query arguments passed from the client to the user info endpoint.
    userinfoQueryArgsNames List<String>
    Extra query argument names passed to the user info endpoint.
    userinfoQueryArgsValues List<String>
    Extra query argument values passed to the user info endpoint.
    usingPseudoIssuer Boolean
    If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with config.issuer. Default: false
    verifyClaims Boolean
    Verify tokens for standard claims. Default: true
    verifyNonce Boolean
    Verify nonce on authorization code flow. Default: true
    verifyParameters Boolean
    Verify plugin configuration against discovery. Default: false
    verifySignature Boolean
    Verify signature of tokens. Default: true

    AiGatewayAuthStrategyOpenidConnectConfigClientJwk, AiGatewayAuthStrategyOpenidConnectConfigClientJwkArgs

    Alg string
    Crv string
    D string
    Dp string
    Dq string
    E string
    Issuer string
    K string
    KeyOps List<string>
    Kid string
    Kty string
    N string
    Oth string
    P string
    Q string
    Qi string
    R string
    T string
    Use string
    X string
    X5cs List<string>
    X5t string
    X5tNumberS256 string
    X5u string
    Y string
    Alg string
    Crv string
    D string
    Dp string
    Dq string
    E string
    Issuer string
    K string
    KeyOps []string
    Kid string
    Kty string
    N string
    Oth string
    P string
    Q string
    Qi string
    R string
    T string
    Use string
    X string
    X5cs []string
    X5t string
    X5tNumberS256 string
    X5u string
    Y string
    alg string
    crv string
    d string
    dp string
    dq string
    e string
    issuer string
    k string
    key_ops list(string)
    kid string
    kty string
    n string
    oth string
    p string
    q string
    qi string
    r string
    t string
    use string
    x string
    x5cs list(string)
    x5t string
    x5t_number_s256 string
    x5u string
    y string
    alg String
    crv String
    d String
    dp String
    dq String
    e String
    issuer String
    k String
    keyOps List<String>
    kid String
    kty String
    n String
    oth String
    p String
    q String
    qi String
    r String
    t String
    use String
    x String
    x5cs List<String>
    x5t String
    x5tNumberS256 String
    x5u String
    y String
    alg string
    crv string
    d string
    dp string
    dq string
    e string
    issuer string
    k string
    keyOps string[]
    kid string
    kty string
    n string
    oth string
    p string
    q string
    qi string
    r string
    t string
    use string
    x string
    x5cs string[]
    x5t string
    x5tNumberS256 string
    x5u string
    y string
    alg str
    crv str
    d str
    dp str
    dq str
    e str
    issuer str
    k str
    key_ops Sequence[str]
    kid str
    kty str
    n str
    oth str
    p str
    q str
    qi str
    r str
    t str
    use str
    x str
    x5cs Sequence[str]
    x5t str
    x5t_number_s256 str
    x5u str
    y str
    alg String
    crv String
    d String
    dp String
    dq String
    e String
    issuer String
    k String
    keyOps List<String>
    kid String
    kty String
    n String
    oth String
    p String
    q String
    qi String
    r String
    t String
    use String
    x String
    x5cs List<String>
    x5t String
    x5tNumberS256 String
    x5u String
    y String

    AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedis, AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisArgs

    CloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    ClusterMaxRedirections double
    Maximum retry attempts for redirection. Default: 5
    ClusterNodes List<AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNode>
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    ConnectTimeout double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    ConnectionIsProxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    Database double
    Database to use for the Redis connection when using the redis strategy. Default: 0
    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    KeepaliveBacklog double
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    KeepalivePoolSize double
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    Password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    Port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    ReadTimeout double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SendTimeout double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SentinelMaster string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    SentinelNodes List<AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNode>
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    SentinelPassword string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    SentinelRole string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    SentinelUsername string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    ServerName string
    A string representing an SNI (server name indication) value for TLS.
    Ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    SslVerify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    Username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    CloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    ClusterMaxRedirections float64
    Maximum retry attempts for redirection. Default: 5
    ClusterNodes []AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNode
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    ConnectTimeout float64
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    ConnectionIsProxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    Database float64
    Database to use for the Redis connection when using the redis strategy. Default: 0
    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    KeepaliveBacklog float64
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    KeepalivePoolSize float64
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    Password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    Port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    ReadTimeout float64
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SendTimeout float64
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SentinelMaster string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    SentinelNodes []AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNode
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    SentinelPassword string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    SentinelRole string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    SentinelUsername string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    ServerName string
    A string representing an SNI (server name indication) value for TLS.
    Ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    SslVerify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    Username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloud_authentication object
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    cluster_max_redirections number
    Maximum retry attempts for redirection. Default: 5
    cluster_nodes list(object)
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connect_timeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connection_is_proxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database number
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepalive_backlog number
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalive_pool_size number
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    read_timeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    send_timeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinel_master string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinel_nodes list(object)
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinel_password string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinel_role string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinel_username string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    server_name string
    A string representing an SNI (server name indication) value for TLS.
    ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    ssl_verify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    clusterMaxRedirections Double
    Maximum retry attempts for redirection. Default: 5
    clusterNodes List<AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNode>
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connectTimeout Double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connectionIsProxied Boolean
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database Double
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepaliveBacklog Double
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalivePoolSize Double
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password String
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port String
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    readTimeout Double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sendTimeout Double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinelMaster String
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinelNodes List<AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNode>
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinelPassword String
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinelRole String
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinelUsername String
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    serverName String
    A string representing an SNI (server name indication) value for TLS.
    ssl Boolean
    If set to true, uses SSL to connect to Redis. Default: false
    sslVerify Boolean
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username String
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    clusterMaxRedirections number
    Maximum retry attempts for redirection. Default: 5
    clusterNodes AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNode[]
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connectTimeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connectionIsProxied boolean
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database number
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepaliveBacklog number
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalivePoolSize number
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    readTimeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sendTimeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinelMaster string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinelNodes AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNode[]
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinelPassword string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinelRole string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinelUsername string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    serverName string
    A string representing an SNI (server name indication) value for TLS.
    ssl boolean
    If set to true, uses SSL to connect to Redis. Default: false
    sslVerify boolean
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloud_authentication AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    cluster_max_redirections float
    Maximum retry attempts for redirection. Default: 5
    cluster_nodes Sequence[AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNode]
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connect_timeout float
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connection_is_proxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database float
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host str
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepalive_backlog float
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalive_pool_size float
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password str
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port str
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    read_timeout float
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    send_timeout float
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinel_master str
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinel_nodes Sequence[AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNode]
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinel_password str
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinel_role str
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinel_username str
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    server_name str
    A string representing an SNI (server name indication) value for TLS.
    ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    ssl_verify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username str
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloudAuthentication Property Map
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    clusterMaxRedirections Number
    Maximum retry attempts for redirection. Default: 5
    clusterNodes List<Property Map>
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connectTimeout Number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connectionIsProxied Boolean
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database Number
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepaliveBacklog Number
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalivePoolSize Number
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password String
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port String
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    readTimeout Number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sendTimeout Number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinelMaster String
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinelNodes List<Property Map>
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinelPassword String
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinelRole String
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinelUsername String
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    serverName String
    A string representing an SNI (server name indication) value for TLS.
    ssl Boolean
    If set to true, uses SSL to connect to Redis. Default: false
    sslVerify Boolean
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username String
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.

    AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthentication, AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisCloudAuthenticationArgs

    AuthProvider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    AwsAccessKeyId string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    AwsAssumeRoleArn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    AwsCacheName string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    AwsIsServerless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    AwsRegion string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    AwsRoleSessionName string
    The session name for the temporary credentials when assuming the IAM role.
    AwsSecretAccessKey string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    AzureClientId string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    AzureClientSecret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    AzureTenantId string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    GcpServiceAccountJson string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    AuthProvider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    AwsAccessKeyId string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    AwsAssumeRoleArn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    AwsCacheName string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    AwsIsServerless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    AwsRegion string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    AwsRoleSessionName string
    The session name for the temporary credentials when assuming the IAM role.
    AwsSecretAccessKey string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    AzureClientId string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    AzureClientSecret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    AzureTenantId string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    GcpServiceAccountJson string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    auth_provider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    aws_access_key_id string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    aws_assume_role_arn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    aws_cache_name string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    aws_is_serverless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    aws_region string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    aws_role_session_name string
    The session name for the temporary credentials when assuming the IAM role.
    aws_secret_access_key string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azure_client_id string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azure_client_secret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azure_tenant_id string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcp_service_account_json string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    authProvider String
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    awsAccessKeyId String
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    awsAssumeRoleArn String
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    awsCacheName String
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    awsIsServerless Boolean
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    awsRegion String
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    awsRoleSessionName String
    The session name for the temporary credentials when assuming the IAM role.
    awsSecretAccessKey String
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azureClientId String
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azureClientSecret String
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azureTenantId String
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcpServiceAccountJson String
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    authProvider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    awsAccessKeyId string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    awsAssumeRoleArn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    awsCacheName string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    awsIsServerless boolean
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    awsRegion string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    awsRoleSessionName string
    The session name for the temporary credentials when assuming the IAM role.
    awsSecretAccessKey string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azureClientId string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azureClientSecret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azureTenantId string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcpServiceAccountJson string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    auth_provider str
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    aws_access_key_id str
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    aws_assume_role_arn str
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    aws_cache_name str
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    aws_is_serverless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    aws_region str
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    aws_role_session_name str
    The session name for the temporary credentials when assuming the IAM role.
    aws_secret_access_key str
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azure_client_id str
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azure_client_secret str
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azure_tenant_id str
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcp_service_account_json str
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    authProvider String
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    awsAccessKeyId String
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    awsAssumeRoleArn String
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    awsCacheName String
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    awsIsServerless Boolean
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    awsRegion String
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    awsRoleSessionName String
    The session name for the temporary credentials when assuming the IAM role.
    awsSecretAccessKey String
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azureClientId String
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azureClientSecret String
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azureTenantId String
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcpServiceAccountJson String
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.

    AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNode, AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisClusterNodeArgs

    Ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    Ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port float64
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip str
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port float
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379

    AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNode, AiGatewayAuthStrategyOpenidConnectConfigClusterCacheRedisSentinelNodeArgs

    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port float64
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host str
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port float
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379

    AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeader, AiGatewayAuthStrategyOpenidConnectConfigDownstreamHeaderArgs

    Header string
    The name of the header. Not Null
    Paths List<string>
    The path of the header value. Not Null
    Header string
    The name of the header. Not Null
    Paths []string
    The path of the header value. Not Null
    header string
    The name of the header. Not Null
    paths list(string)
    The path of the header value. Not Null
    header String
    The name of the header. Not Null
    paths List<String>
    The path of the header value. Not Null
    header string
    The name of the header. Not Null
    paths string[]
    The path of the header value. Not Null
    header str
    The name of the header. Not Null
    paths Sequence[str]
    The path of the header value. Not Null
    header String
    The name of the header. Not Null
    paths List<String>
    The path of the header value. Not Null

    AiGatewayAuthStrategyOpenidConnectConfigPrincipals, AiGatewayAuthStrategyOpenidConnectConfigPrincipalsArgs

    Directory string
    The Kong Identity directory instance to look up against. Default: "default"
    Enabled bool
    When true, query Kong Identity to map a Principal after token verification. Default: false
    ErrorOnMiss bool
    When true (default), return 401 if fail to match a Principal in Kong Identity after token verification. When false, the request continues without authenticated_principal set. Default: true
    MatchConsumer bool
    If a Consumer is attached to the matched Principal in Kong Identity, load it and set it in the request context, overriding consumer_by. Default: true
    MatchConsumerGroups bool
    If Consumer Groups are attached to the matched Principal in Kong Identity, load them, overriding consumergroupsclaim. Default: true
    PrincipalBy string
    Custom identity name for a type=custom Kong Identity lookup. When absent and principalclaim is set, an OIDC lookup is performed using principalclaim as the claim name instead of 'sub'.
    PrincipalClaims List<string>
    Token claim to use for the Kong Identity lookup. If multiple values are set, it means the claim is inside a nested object of the token payload. When principal_by is also set, performs a custom identity lookup (type=custom). When set alone, performs an OIDC lookup using this claim name instead of the default 'sub'.
    Directory string
    The Kong Identity directory instance to look up against. Default: "default"
    Enabled bool
    When true, query Kong Identity to map a Principal after token verification. Default: false
    ErrorOnMiss bool
    When true (default), return 401 if fail to match a Principal in Kong Identity after token verification. When false, the request continues without authenticated_principal set. Default: true
    MatchConsumer bool
    If a Consumer is attached to the matched Principal in Kong Identity, load it and set it in the request context, overriding consumer_by. Default: true
    MatchConsumerGroups bool
    If Consumer Groups are attached to the matched Principal in Kong Identity, load them, overriding consumergroupsclaim. Default: true
    PrincipalBy string
    Custom identity name for a type=custom Kong Identity lookup. When absent and principalclaim is set, an OIDC lookup is performed using principalclaim as the claim name instead of 'sub'.
    PrincipalClaims []string
    Token claim to use for the Kong Identity lookup. If multiple values are set, it means the claim is inside a nested object of the token payload. When principal_by is also set, performs a custom identity lookup (type=custom). When set alone, performs an OIDC lookup using this claim name instead of the default 'sub'.
    directory string
    The Kong Identity directory instance to look up against. Default: "default"
    enabled bool
    When true, query Kong Identity to map a Principal after token verification. Default: false
    error_on_miss bool
    When true (default), return 401 if fail to match a Principal in Kong Identity after token verification. When false, the request continues without authenticated_principal set. Default: true
    match_consumer bool
    If a Consumer is attached to the matched Principal in Kong Identity, load it and set it in the request context, overriding consumer_by. Default: true
    match_consumer_groups bool
    If Consumer Groups are attached to the matched Principal in Kong Identity, load them, overriding consumergroupsclaim. Default: true
    principal_by string
    Custom identity name for a type=custom Kong Identity lookup. When absent and principalclaim is set, an OIDC lookup is performed using principalclaim as the claim name instead of 'sub'.
    principal_claims list(string)
    Token claim to use for the Kong Identity lookup. If multiple values are set, it means the claim is inside a nested object of the token payload. When principal_by is also set, performs a custom identity lookup (type=custom). When set alone, performs an OIDC lookup using this claim name instead of the default 'sub'.
    directory String
    The Kong Identity directory instance to look up against. Default: "default"
    enabled Boolean
    When true, query Kong Identity to map a Principal after token verification. Default: false
    errorOnMiss Boolean
    When true (default), return 401 if fail to match a Principal in Kong Identity after token verification. When false, the request continues without authenticated_principal set. Default: true
    matchConsumer Boolean
    If a Consumer is attached to the matched Principal in Kong Identity, load it and set it in the request context, overriding consumer_by. Default: true
    matchConsumerGroups Boolean
    If Consumer Groups are attached to the matched Principal in Kong Identity, load them, overriding consumergroupsclaim. Default: true
    principalBy String
    Custom identity name for a type=custom Kong Identity lookup. When absent and principalclaim is set, an OIDC lookup is performed using principalclaim as the claim name instead of 'sub'.
    principalClaims List<String>
    Token claim to use for the Kong Identity lookup. If multiple values are set, it means the claim is inside a nested object of the token payload. When principal_by is also set, performs a custom identity lookup (type=custom). When set alone, performs an OIDC lookup using this claim name instead of the default 'sub'.
    directory string
    The Kong Identity directory instance to look up against. Default: "default"
    enabled boolean
    When true, query Kong Identity to map a Principal after token verification. Default: false
    errorOnMiss boolean
    When true (default), return 401 if fail to match a Principal in Kong Identity after token verification. When false, the request continues without authenticated_principal set. Default: true
    matchConsumer boolean
    If a Consumer is attached to the matched Principal in Kong Identity, load it and set it in the request context, overriding consumer_by. Default: true
    matchConsumerGroups boolean
    If Consumer Groups are attached to the matched Principal in Kong Identity, load them, overriding consumergroupsclaim. Default: true
    principalBy string
    Custom identity name for a type=custom Kong Identity lookup. When absent and principalclaim is set, an OIDC lookup is performed using principalclaim as the claim name instead of 'sub'.
    principalClaims string[]
    Token claim to use for the Kong Identity lookup. If multiple values are set, it means the claim is inside a nested object of the token payload. When principal_by is also set, performs a custom identity lookup (type=custom). When set alone, performs an OIDC lookup using this claim name instead of the default 'sub'.
    directory str
    The Kong Identity directory instance to look up against. Default: "default"
    enabled bool
    When true, query Kong Identity to map a Principal after token verification. Default: false
    error_on_miss bool
    When true (default), return 401 if fail to match a Principal in Kong Identity after token verification. When false, the request continues without authenticated_principal set. Default: true
    match_consumer bool
    If a Consumer is attached to the matched Principal in Kong Identity, load it and set it in the request context, overriding consumer_by. Default: true
    match_consumer_groups bool
    If Consumer Groups are attached to the matched Principal in Kong Identity, load them, overriding consumergroupsclaim. Default: true
    principal_by str
    Custom identity name for a type=custom Kong Identity lookup. When absent and principalclaim is set, an OIDC lookup is performed using principalclaim as the claim name instead of 'sub'.
    principal_claims Sequence[str]
    Token claim to use for the Kong Identity lookup. If multiple values are set, it means the claim is inside a nested object of the token payload. When principal_by is also set, performs a custom identity lookup (type=custom). When set alone, performs an OIDC lookup using this claim name instead of the default 'sub'.
    directory String
    The Kong Identity directory instance to look up against. Default: "default"
    enabled Boolean
    When true, query Kong Identity to map a Principal after token verification. Default: false
    errorOnMiss Boolean
    When true (default), return 401 if fail to match a Principal in Kong Identity after token verification. When false, the request continues without authenticated_principal set. Default: true
    matchConsumer Boolean
    If a Consumer is attached to the matched Principal in Kong Identity, load it and set it in the request context, overriding consumer_by. Default: true
    matchConsumerGroups Boolean
    If Consumer Groups are attached to the matched Principal in Kong Identity, load them, overriding consumergroupsclaim. Default: true
    principalBy String
    Custom identity name for a type=custom Kong Identity lookup. When absent and principalclaim is set, an OIDC lookup is performed using principalclaim as the claim name instead of 'sub'.
    principalClaims List<String>
    Token claim to use for the Kong Identity lookup. If multiple values are set, it means the claim is inside a nested object of the token payload. When principal_by is also set, performs a custom identity lookup (type=custom). When set alone, performs an OIDC lookup using this claim name instead of the default 'sub'.

    AiGatewayAuthStrategyOpenidConnectConfigRedis, AiGatewayAuthStrategyOpenidConnectConfigRedisArgs

    CloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    ClusterMaxRedirections double
    Maximum retry attempts for redirection. Default: 5
    ClusterNodes List<AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNode>
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    ConnectTimeout double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    ConnectionIsProxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    Database double
    Database to use for the Redis connection when using the redis strategy. Default: 0
    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    KeepaliveBacklog double
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    KeepalivePoolSize double
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    Password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    Port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    Prefix string
    The Redis session key prefix.
    ReadTimeout double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SendTimeout double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SentinelMaster string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    SentinelNodes List<AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNode>
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    SentinelPassword string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    SentinelRole string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    SentinelUsername string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    ServerName string
    A string representing an SNI (server name indication) value for TLS.
    Socket string
    The Redis unix socket path.
    Ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    SslVerify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    Username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    CloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    ClusterMaxRedirections float64
    Maximum retry attempts for redirection. Default: 5
    ClusterNodes []AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNode
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    ConnectTimeout float64
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    ConnectionIsProxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    Database float64
    Database to use for the Redis connection when using the redis strategy. Default: 0
    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    KeepaliveBacklog float64
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    KeepalivePoolSize float64
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    Password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    Port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    Prefix string
    The Redis session key prefix.
    ReadTimeout float64
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SendTimeout float64
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    SentinelMaster string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    SentinelNodes []AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNode
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    SentinelPassword string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    SentinelRole string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    SentinelUsername string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    ServerName string
    A string representing an SNI (server name indication) value for TLS.
    Socket string
    The Redis unix socket path.
    Ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    SslVerify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    Username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloud_authentication object
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    cluster_max_redirections number
    Maximum retry attempts for redirection. Default: 5
    cluster_nodes list(object)
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connect_timeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connection_is_proxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database number
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepalive_backlog number
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalive_pool_size number
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    prefix string
    The Redis session key prefix.
    read_timeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    send_timeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinel_master string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinel_nodes list(object)
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinel_password string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinel_role string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinel_username string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    server_name string
    A string representing an SNI (server name indication) value for TLS.
    socket string
    The Redis unix socket path.
    ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    ssl_verify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    clusterMaxRedirections Double
    Maximum retry attempts for redirection. Default: 5
    clusterNodes List<AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNode>
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connectTimeout Double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connectionIsProxied Boolean
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database Double
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepaliveBacklog Double
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalivePoolSize Double
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password String
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port String
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    prefix String
    The Redis session key prefix.
    readTimeout Double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sendTimeout Double
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinelMaster String
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinelNodes List<AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNode>
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinelPassword String
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinelRole String
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinelUsername String
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    serverName String
    A string representing an SNI (server name indication) value for TLS.
    socket String
    The Redis unix socket path.
    ssl Boolean
    If set to true, uses SSL to connect to Redis. Default: false
    sslVerify Boolean
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username String
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloudAuthentication AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    clusterMaxRedirections number
    Maximum retry attempts for redirection. Default: 5
    clusterNodes AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNode[]
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connectTimeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connectionIsProxied boolean
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database number
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepaliveBacklog number
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalivePoolSize number
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password string
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port string
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    prefix string
    The Redis session key prefix.
    readTimeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sendTimeout number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinelMaster string
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinelNodes AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNode[]
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinelPassword string
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinelRole string
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinelUsername string
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    serverName string
    A string representing an SNI (server name indication) value for TLS.
    socket string
    The Redis unix socket path.
    ssl boolean
    If set to true, uses SSL to connect to Redis. Default: false
    sslVerify boolean
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username string
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloud_authentication AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthentication
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    cluster_max_redirections float
    Maximum retry attempts for redirection. Default: 5
    cluster_nodes Sequence[AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNode]
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connect_timeout float
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connection_is_proxied bool
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database float
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host str
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepalive_backlog float
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalive_pool_size float
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password str
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port str
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    prefix str
    The Redis session key prefix.
    read_timeout float
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    send_timeout float
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinel_master str
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinel_nodes Sequence[AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNode]
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinel_password str
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinel_role str
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinel_username str
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    server_name str
    A string representing an SNI (server name indication) value for TLS.
    socket str
    The Redis unix socket path.
    ssl bool
    If set to true, uses SSL to connect to Redis. Default: false
    ssl_verify bool
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username str
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.
    cloudAuthentication Property Map
    Cloud auth related configs for connecting to a Cloud Provider's Redis instance.
    clusterMaxRedirections Number
    Maximum retry attempts for redirection. Default: 5
    clusterNodes List<Property Map>
    Cluster addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
    connectTimeout Number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    connectionIsProxied Boolean
    If the connection to Redis is proxied (e.g. Envoy), set it true. Set the host and port to point to the proxy address. Default: false
    database Number
    Database to use for the Redis connection when using the redis strategy. Default: 0
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    keepaliveBacklog Number
    Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return nil. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than keepalive_pool_size. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than keepalive_pool_size.
    keepalivePoolSize Number
    The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither keepalive_pool_size nor keepalive_backlog is specified, no pool is created. If keepalive_pool_size isn't specified but keepalive_backlog is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. Default: 256
    password String
    Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
    port String
    An integer representing a port number between 0 and 65535, inclusive. Default: "6379"
    prefix String
    The Redis session key prefix.
    readTimeout Number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sendTimeout Number
    An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. Default: 2000
    sentinelMaster String
    Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
    sentinelNodes List<Property Map>
    Sentinel node addresses to use for Redis connections when the redis strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
    sentinelPassword String
    Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
    sentinelRole String
    Sentinel role to use for Redis connections when the redis strategy is defined. Defining this value implies using Redis Sentinel. possible known values include one of ["any", "master", "slave"]
    sentinelUsername String
    Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+.
    serverName String
    A string representing an SNI (server name indication) value for TLS.
    socket String
    The Redis unix socket path.
    ssl Boolean
    If set to true, uses SSL to connect to Redis. Default: false
    sslVerify Boolean
    If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure lua_ssl_trusted_certificate in kong.conf to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Default: true
    username String
    Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to default.

    AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthentication, AiGatewayAuthStrategyOpenidConnectConfigRedisCloudAuthenticationArgs

    AuthProvider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    AwsAccessKeyId string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    AwsAssumeRoleArn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    AwsCacheName string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    AwsIsServerless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    AwsRegion string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    AwsRoleSessionName string
    The session name for the temporary credentials when assuming the IAM role.
    AwsSecretAccessKey string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    AzureClientId string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    AzureClientSecret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    AzureTenantId string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    GcpServiceAccountJson string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    AuthProvider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    AwsAccessKeyId string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    AwsAssumeRoleArn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    AwsCacheName string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    AwsIsServerless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    AwsRegion string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    AwsRoleSessionName string
    The session name for the temporary credentials when assuming the IAM role.
    AwsSecretAccessKey string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    AzureClientId string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    AzureClientSecret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    AzureTenantId string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    GcpServiceAccountJson string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    auth_provider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    aws_access_key_id string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    aws_assume_role_arn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    aws_cache_name string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    aws_is_serverless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    aws_region string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    aws_role_session_name string
    The session name for the temporary credentials when assuming the IAM role.
    aws_secret_access_key string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azure_client_id string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azure_client_secret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azure_tenant_id string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcp_service_account_json string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    authProvider String
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    awsAccessKeyId String
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    awsAssumeRoleArn String
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    awsCacheName String
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    awsIsServerless Boolean
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    awsRegion String
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    awsRoleSessionName String
    The session name for the temporary credentials when assuming the IAM role.
    awsSecretAccessKey String
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azureClientId String
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azureClientSecret String
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azureTenantId String
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcpServiceAccountJson String
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    authProvider string
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    awsAccessKeyId string
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    awsAssumeRoleArn string
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    awsCacheName string
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    awsIsServerless boolean
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    awsRegion string
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    awsRoleSessionName string
    The session name for the temporary credentials when assuming the IAM role.
    awsSecretAccessKey string
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azureClientId string
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azureClientSecret string
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azureTenantId string
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcpServiceAccountJson string
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    auth_provider str
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    aws_access_key_id str
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    aws_assume_role_arn str
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    aws_cache_name str
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    aws_is_serverless bool
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    aws_region str
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    aws_role_session_name str
    The session name for the temporary credentials when assuming the IAM role.
    aws_secret_access_key str
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azure_client_id str
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azure_client_secret str
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azure_tenant_id str
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcp_service_account_json str
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.
    authProvider String
    Auth providers to be used to authenticate to a Cloud Provider's Redis instance. possible known values include one of ["aws", "azure", "gcp"]
    awsAccessKeyId String
    AWS Access Key ID to be used for authentication when auth_provider is set to aws.
    awsAssumeRoleArn String
    The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens.
    awsCacheName String
    The name of the AWS Elasticache cluster when auth_provider is set to aws.
    awsIsServerless Boolean
    This flag specifies whether the cluster is serverless when auth_provider is set to aws. Default: true
    awsRegion String
    The region of the AWS ElastiCache cluster when auth_provider is set to aws.
    awsRoleSessionName String
    The session name for the temporary credentials when assuming the IAM role.
    awsSecretAccessKey String
    AWS Secret Access Key to be used for authentication when auth_provider is set to aws.
    azureClientId String
    Azure Client ID to be used for authentication when auth_provider is set to azure.
    azureClientSecret String
    Azure Client Secret to be used for authentication when auth_provider is set to azure.
    azureTenantId String
    Azure Tenant ID to be used for authentication when auth_provider is set to azure.
    gcpServiceAccountJson String
    GCP Service Account JSON to be used for authentication when auth_provider is set to gcp.

    AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNode, AiGatewayAuthStrategyOpenidConnectConfigRedisClusterNodeArgs

    Ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    Ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port float64
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip str
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port float
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    ip String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379

    AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNode, AiGatewayAuthStrategyOpenidConnectConfigRedisSentinelNodeArgs

    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    Host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    Port float64
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Double
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host string
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host str
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port float
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379
    host String
    A string representing a host name, such as example.com. Default: "127.0.0.1"
    port Number
    An integer representing a port number between 0 and 65535, inclusive. Default: 6379

    AiGatewayAuthStrategyOpenidConnectConfigTokenExchange, AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeArgs

    Cache AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCache
    Cache support for token exchange
    Request AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequest
    Parameters used in the token exchange request.
    SubjectTokenIssuers List<AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuer>
    Trusted token issuers from which the upstream may accept tokens to be exchanged. If a JWT bearer matches all the conditions of a subject token issuer item, the token will be exchanged. Not Null
    Cache AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCache
    Cache support for token exchange
    Request AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequest
    Parameters used in the token exchange request.
    SubjectTokenIssuers []AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuer
    Trusted token issuers from which the upstream may accept tokens to be exchanged. If a JWT bearer matches all the conditions of a subject token issuer item, the token will be exchanged. Not Null
    cache object
    Cache support for token exchange
    request object
    Parameters used in the token exchange request.
    subject_token_issuers list(object)
    Trusted token issuers from which the upstream may accept tokens to be exchanged. If a JWT bearer matches all the conditions of a subject token issuer item, the token will be exchanged. Not Null
    cache AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCache
    Cache support for token exchange
    request AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequest
    Parameters used in the token exchange request.
    subjectTokenIssuers List<AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuer>
    Trusted token issuers from which the upstream may accept tokens to be exchanged. If a JWT bearer matches all the conditions of a subject token issuer item, the token will be exchanged. Not Null
    cache AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCache
    Cache support for token exchange
    request AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequest
    Parameters used in the token exchange request.
    subjectTokenIssuers AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuer[]
    Trusted token issuers from which the upstream may accept tokens to be exchanged. If a JWT bearer matches all the conditions of a subject token issuer item, the token will be exchanged. Not Null
    cache AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCache
    Cache support for token exchange
    request AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequest
    Parameters used in the token exchange request.
    subject_token_issuers Sequence[AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuer]
    Trusted token issuers from which the upstream may accept tokens to be exchanged. If a JWT bearer matches all the conditions of a subject token issuer item, the token will be exchanged. Not Null
    cache Property Map
    Cache support for token exchange
    request Property Map
    Parameters used in the token exchange request.
    subjectTokenIssuers List<Property Map>
    Trusted token issuers from which the upstream may accept tokens to be exchanged. If a JWT bearer matches all the conditions of a subject token issuer item, the token will be exchanged. Not Null

    AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCache, AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeCacheArgs

    Enabled bool
    Whether to enable caching. Default: true
    Ttl double
    Cache ttl in seconds used when caching exchanged tokens, use it to override conf.cache_ttl. Token expiry will be used if shorter than this value.
    Enabled bool
    Whether to enable caching. Default: true
    Ttl float64
    Cache ttl in seconds used when caching exchanged tokens, use it to override conf.cache_ttl. Token expiry will be used if shorter than this value.
    enabled bool
    Whether to enable caching. Default: true
    ttl number
    Cache ttl in seconds used when caching exchanged tokens, use it to override conf.cache_ttl. Token expiry will be used if shorter than this value.
    enabled Boolean
    Whether to enable caching. Default: true
    ttl Double
    Cache ttl in seconds used when caching exchanged tokens, use it to override conf.cache_ttl. Token expiry will be used if shorter than this value.
    enabled boolean
    Whether to enable caching. Default: true
    ttl number
    Cache ttl in seconds used when caching exchanged tokens, use it to override conf.cache_ttl. Token expiry will be used if shorter than this value.
    enabled bool
    Whether to enable caching. Default: true
    ttl float
    Cache ttl in seconds used when caching exchanged tokens, use it to override conf.cache_ttl. Token expiry will be used if shorter than this value.
    enabled Boolean
    Whether to enable caching. Default: true
    ttl Number
    Cache ttl in seconds used when caching exchanged tokens, use it to override conf.cache_ttl. Token expiry will be used if shorter than this value.

    AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequest, AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeRequestArgs

    Audiences List<string>
    Audiences used in the token exchange request. Values defined here override those defined in config.audience.
    EmptyAudience bool
    Use empty audiences. Use this field to override audiences defined in config.audience. Default: false
    EmptyScopes bool
    Use empty scopes. Use this field to override scopes defined in config.scopes. Default: false
    Scopes List<string>
    Scopes used in the token exchange request. Values defined here override those defined in config.scopes.
    Audiences []string
    Audiences used in the token exchange request. Values defined here override those defined in config.audience.
    EmptyAudience bool
    Use empty audiences. Use this field to override audiences defined in config.audience. Default: false
    EmptyScopes bool
    Use empty scopes. Use this field to override scopes defined in config.scopes. Default: false
    Scopes []string
    Scopes used in the token exchange request. Values defined here override those defined in config.scopes.
    audiences list(string)
    Audiences used in the token exchange request. Values defined here override those defined in config.audience.
    empty_audience bool
    Use empty audiences. Use this field to override audiences defined in config.audience. Default: false
    empty_scopes bool
    Use empty scopes. Use this field to override scopes defined in config.scopes. Default: false
    scopes list(string)
    Scopes used in the token exchange request. Values defined here override those defined in config.scopes.
    audiences List<String>
    Audiences used in the token exchange request. Values defined here override those defined in config.audience.
    emptyAudience Boolean
    Use empty audiences. Use this field to override audiences defined in config.audience. Default: false
    emptyScopes Boolean
    Use empty scopes. Use this field to override scopes defined in config.scopes. Default: false
    scopes List<String>
    Scopes used in the token exchange request. Values defined here override those defined in config.scopes.
    audiences string[]
    Audiences used in the token exchange request. Values defined here override those defined in config.audience.
    emptyAudience boolean
    Use empty audiences. Use this field to override audiences defined in config.audience. Default: false
    emptyScopes boolean
    Use empty scopes. Use this field to override scopes defined in config.scopes. Default: false
    scopes string[]
    Scopes used in the token exchange request. Values defined here override those defined in config.scopes.
    audiences Sequence[str]
    Audiences used in the token exchange request. Values defined here override those defined in config.audience.
    empty_audience bool
    Use empty audiences. Use this field to override audiences defined in config.audience. Default: false
    empty_scopes bool
    Use empty scopes. Use this field to override scopes defined in config.scopes. Default: false
    scopes Sequence[str]
    Scopes used in the token exchange request. Values defined here override those defined in config.scopes.
    audiences List<String>
    Audiences used in the token exchange request. Values defined here override those defined in config.audience.
    emptyAudience Boolean
    Use empty audiences. Use this field to override audiences defined in config.audience. Default: false
    emptyScopes Boolean
    Use empty scopes. Use this field to override scopes defined in config.scopes. Default: false
    scopes List<String>
    Scopes used in the token exchange request. Values defined here override those defined in config.scopes.

    AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuer, AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerArgs

    Conditions AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditions
    A tokens will only be exchange when it matches all these criteria. To exchanging tokens issued from a different issuer, conditions must not be defined; On the contrary, to exchange tokens issued from the target issuer itself, conditions must be defined.
    Issuer string
    Tokens of whose iss claim matches this value will be exchanged. Not Null
    Conditions AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditions
    A tokens will only be exchange when it matches all these criteria. To exchanging tokens issued from a different issuer, conditions must not be defined; On the contrary, to exchange tokens issued from the target issuer itself, conditions must be defined.
    Issuer string
    Tokens of whose iss claim matches this value will be exchanged. Not Null
    conditions object
    A tokens will only be exchange when it matches all these criteria. To exchanging tokens issued from a different issuer, conditions must not be defined; On the contrary, to exchange tokens issued from the target issuer itself, conditions must be defined.
    issuer string
    Tokens of whose iss claim matches this value will be exchanged. Not Null
    conditions AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditions
    A tokens will only be exchange when it matches all these criteria. To exchanging tokens issued from a different issuer, conditions must not be defined; On the contrary, to exchange tokens issued from the target issuer itself, conditions must be defined.
    issuer String
    Tokens of whose iss claim matches this value will be exchanged. Not Null
    conditions AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditions
    A tokens will only be exchange when it matches all these criteria. To exchanging tokens issued from a different issuer, conditions must not be defined; On the contrary, to exchange tokens issued from the target issuer itself, conditions must be defined.
    issuer string
    Tokens of whose iss claim matches this value will be exchanged. Not Null
    conditions AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditions
    A tokens will only be exchange when it matches all these criteria. To exchanging tokens issued from a different issuer, conditions must not be defined; On the contrary, to exchange tokens issued from the target issuer itself, conditions must be defined.
    issuer str
    Tokens of whose iss claim matches this value will be exchanged. Not Null
    conditions Property Map
    A tokens will only be exchange when it matches all these criteria. To exchanging tokens issued from a different issuer, conditions must not be defined; On the contrary, to exchange tokens issued from the target issuer itself, conditions must be defined.
    issuer String
    Tokens of whose iss claim matches this value will be exchanged. Not Null

    AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditions, AiGatewayAuthStrategyOpenidConnectConfigTokenExchangeSubjectTokenIssuerConditionsArgs

    HasAudiences List<string>
    HasScopes List<string>
    MissingAudiences List<string>
    MissingScopes List<string>
    HasAudiences []string
    HasScopes []string
    MissingAudiences []string
    MissingScopes []string
    has_audiences list(string)
    has_scopes list(string)
    missing_audiences list(string)
    missing_scopes list(string)
    hasAudiences List<String>
    hasScopes List<String>
    missingAudiences List<String>
    missingScopes List<String>
    hasAudiences string[]
    hasScopes string[]
    missingAudiences string[]
    missingScopes string[]
    has_audiences Sequence[str]
    has_scopes Sequence[str]
    missing_audiences Sequence[str]
    missing_scopes Sequence[str]
    hasAudiences List<String>
    hasScopes List<String>
    missingAudiences List<String>
    missingScopes List<String>

    AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeader, AiGatewayAuthStrategyOpenidConnectConfigUpstreamHeaderArgs

    Header string
    The name of the header. Not Null
    Paths List<string>
    The path of the header value. Not Null
    Header string
    The name of the header. Not Null
    Paths []string
    The path of the header value. Not Null
    header string
    The name of the header. Not Null
    paths list(string)
    The path of the header value. Not Null
    header String
    The name of the header. Not Null
    paths List<String>
    The path of the header value. Not Null
    header string
    The name of the header. Not Null
    paths string[]
    The path of the header value. Not Null
    header str
    The name of the header. Not Null
    paths Sequence[str]
    The path of the header value. Not Null
    header String
    The name of the header. Not Null
    paths List<String>
    The path of the header value. Not Null

    Import

    In Terraform v1.5.0 and later, the import block can be used with the id attribute, for example:

    terraform

    import {

    to = konnect_ai_gateway_auth_strategy.my_konnect_ai_gateway_auth_strategy

    id = jsonencode({

    gateway_id = "5f9fd312-a987-4628-b4c5-bb4f4fddd5f7"
    
    id         = "5f9fd312-a987-4628-b4c5-bb4f4fddd5f7"
    

    })

    }

    The pulumi import command can be used, for example:

    $ pulumi import konnect:index/aiGatewayAuthStrategy:AiGatewayAuthStrategy my_konnect_ai_gateway_auth_strategy '{"gateway_id": "5f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "id": "5f9fd312-a987-4628-b4c5-bb4f4fddd5f7"}'
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    konnect kong/terraform-provider-konnect
    License
    Notes
    This Pulumi package is based on the konnect Terraform Provider.
    Viewing docs for konnect 3.23.0
    published on Friday, Sep 18, 2026 by kong

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial