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

# OIDC (OpenID Connect)

> OIDC is a standard for authentication and authorization that allows you to authenticate users with an external identity provider.

<Note>
  This feature is available in Odigos
  [`v1.0.201`](https://github.com/odigos-io/odigos/releases/tag/v1.0.201) and
  later.
</Note>

## Getting Started

To get started with OIDC, you need to configure the Odigos UI to use an external identity provider.

<Steps>
  <Step title="Create a new OIDC application in your identity provider">
    <Info>
      You can use the [Okta](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_oidc.htm) or [Auth0](https://auth0.com/docs/authenticate/identity-providers/enterprise-identity-providers/oidc) guides to create a new OIDC application.
    </Info>

    <Warning>
      Please note that the OIDC application should be configured to allow the Odigos UI to access the `Login redirect URLs`.

      * If you are using the default Odigos UI, the redirect URL should be `http://localhost:3000/auth/oidc-callback`.
      * If you are using a custom/remote UI, the redirect URL should be the URL of the Odigos UI, with the path `/auth/oidc-callback`.<br />
        For example, if you are using a remote UI at `https://my-odigos-ui.com`, the redirect URL should be `https://my-odigos-ui.com/auth/oidc-callback`.
    </Warning>
  </Step>

  <Step title="Set OIDC variables">
    You should set the OIDC values during installation or upgrade. The values can be obtained from the identity provider, after creating the OIDC application.

    <Tabs>
      <Tab title="CLI">
        You can use the `odigos install --set` command.

        ```bash theme={null}
        odigos install --set ui.oidcTenantUrl=<value> --set ui.oidcClientId=<value> --set ui.oidcClientSecret=<value>
        ```
      </Tab>

      <Tab title="Helm">
        You can set these values in your `values.yaml` file for Helm installations:

        ```yaml theme={null}
        ui:
          oidcTenantUrl: <value>
          oidcClientId: <value>
          oidcClientSecret: <value>
        ```

        Alternatively, you can use the `--set` flag when installing/upgrading the Odigos Helm chart:

        ```bash theme={null}
        helm repo update
        helm upgrade odigos odigos/odigos --namespace odigos-system --set ui.oidcTenantUrl=<value> --set ui.oidcClientId=<value> --set ui.oidcClientSecret=<value>
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Set UI remote URL (optional)">
    If you are hosting the Odigos UI on a custom/remote URL (e.g. `https://my-odigos-ui.com`), you should set the value during installation or upgrade.

    <Tabs>
      <Tab title="CLI">
        You can use the `odigos install --set` command.

        ```bash theme={null}
        odigos install --set ui.uiRemoteUrl=<value>
        ```
      </Tab>

      <Tab title="Helm">
        You can set this value in your `values.yaml` file for Helm installations:

        ```yaml theme={null}
        ui:
          uiRemoteUrl: <value>
        ```

        Alternatively, you can use the `--set` flag when installing/upgrading the Odigos Helm chart:

        ```bash theme={null}
        helm repo update
        helm upgrade odigos odigos/odigos --namespace odigos-system --set ui.uiRemoteUrl=<value>
        ```
      </Tab>
    </Tabs>
  </Step>
</Steps>
