> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open-metadata.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom OIDC SSO | OpenMetadata Security Integration

> Set up a custom OIDC provider for authentication, allowing flexible federation and secure access across deployments.

# Custom OIDC SSO

Follow the sections in this guide to set up Custom OIDC SSO.

<Tip>
  Security requirements for your **production** environment:

  * **DELETE** the admin default account shipped by OM in case you had [Basic Authentication](/v1.12.x/deployment/security/basic-auth)
    enabled before configuring the authentication with Custom OIDC SSO.
  * **UPDATE** the Private / Public keys used for the [JWT Tokens](/v1.12.x/deployment/security/enable-jwt-tokens). The keys we provide
    by default are aimed only for quickstart and testing purposes. They should NEVER be used in a production installation.
</Tip>

## Create Server Credentials

* Go to the console of your preferred custom OIDC SSO provider
* Create an OIDC client application with implicit flow enabled to get a client ID.

### Create Client ID and Secret Key

* Navigate to your preferred OIDC provider console and create an OIDC client application.
* Generate client ID and secret key in JSON format.

After the applying these steps, you can update the configuration of your deployment:

<CardGroup cols={3}>
  <Card title="Docker" href="/v1.12.x/deployment/security/custom-oidc/docker">
    Configure Custom OIDC SSO for Docker deployment.
  </Card>

  <Card title="Kubernetes" href="/v1.12.x/deployment/security/custom-oidc/kubernetes">
    Configure Custom OIDC SSO for Kubernetes deployment.
  </Card>

  <Card title="Bare Metal" href="/v1.12.x/deployment/security/custom-oidc/bare-metal">
    Configure Custom OIDC SSO for Bare Metal deployment.
  </Card>
</CardGroup>

## Configure Ingestion

Once your server security is set, it's time to review the ingestion configuration. Our bots support JWT tokens
to authenticate to the server when sending requests.

Find more information on [**Enabling JWT Tokens**](/deployment/security/enable-jwt-tokens) and [**JWT Troubleshooting**](/deployment/security/jwt-troubleshooting) to ensure seamless authentication.
