> ## Documentation Index
> Fetch the complete documentation index at: https://sourcebot-msukkarieh-ado.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Providers

Sourcebot supports a wide range of different authentication providers through it's integration with [Auth.js](https://authjs.dev/). This page
highlights how to configure the various supported providers.

If theres an authentication provider you'd like us to support, please [reach out](https://www.sourcebot.dev/contact).

# Core Authentication Providers

### Email / Password

***

Email / password authentication is enabled by default. It can be **disabled** by setting `AUTH_CREDENTIALS_LOGIN_ENABLED` to `false`.

### Email codes

***

Email codes are 6 digit codes sent to a provided email. Email codes are enabled when transactional emails are configured using the following environment variables:

* `AUTH_EMAIL_CODE_LOGIN_ENABLED`
* `SMTP_CONNECTION_URL`
* `EMAIL_FROM_ADDRESS`

See [transactional emails](/docs/configuration/transactional-emails) for more details.

# Enterprise Authentication Providers

The following authentication providers require an [enterprise license](/docs/license-key) to be enabled.

### GitHub

***

[Auth.js GitHub Provider Docs](https://authjs.dev/getting-started/providers/github)

**Required environment variables:**

* `AUTH_EE_GITHUB_CLIENT_ID`
* `AUTH_EE_GITHUB_CLIENT_SECRET`

Optional environment variables:

* `AUTH_EE_GITHUB_BASE_URL` - Base URL for GitHub Enterprise (defaults to [https://github.com](https://github.com))

### GitLab

***

[Auth.js GitLab Provider Docs](https://authjs.dev/getting-started/providers/gitlab)

**Required environment variables:**

* `AUTH_EE_GITLAB_CLIENT_ID`
* `AUTH_EE_GITLAB_CLIENT_SECRET`

Optional environment variables:

* `AUTH_EE_GITLAB_BASE_URL` - Base URL for GitLab instance (defaults to [https://gitlab.com](https://gitlab.com))

### Google

***

[Auth.js Google Provider Docs](https://authjs.dev/getting-started/providers/google)

**Required environment variables:**

* `AUTH_EE_GOOGLE_CLIENT_ID`
* `AUTH_EE_GOOGLE_CLIENT_SECRET`

### GCP IAP

***

<Note>If you're running Sourcebot in an environment that blocks egress, make sure you allow the [IAP IP ranges](https://www.gstatic.com/ipranges/goog.json)</Note>

Custom provider built to enable automatic Sourcebot account registration/login when using GCP IAP.

**Required environment variables**

* `AUTH_EE_GCP_IAP_ENABLED`
* `AUTH_EE_GCP_IAP_AUDIENCE`
  * This can be found by selecting the ⋮ icon next to the IAP-enabled backend service and pressing `Get JWT audience code`

### Okta

***

[Auth.js Okta Provider Docs](https://authjs.dev/getting-started/providers/okta)

**Required environment variables:**

* `AUTH_EE_OKTA_CLIENT_ID`
* `AUTH_EE_OKTA_CLIENT_SECRET`
* `AUTH_EE_OKTA_ISSUER`

### Keycloak

***

[Auth.js Keycloak Provider Docs](https://authjs.dev/getting-started/providers/keycloak)

**Required environment variables:**

* `AUTH_EE_KEYCLOAK_CLIENT_ID`
* `AUTH_EE_KEYCLOAK_CLIENT_SECRET`
* `AUTH_EE_KEYCLOAK_ISSUER`

### Microsoft Entra ID

[Auth.js Microsoft Entra ID Provider Docs](https://authjs.dev/getting-started/providers/microsoft-entra-id)

**Required environment variables:**

* `AUTH_EE_MICROSOFT_ENTRA_ID_CLIENT_ID`
* `AUTH_EE_MICROSOFT_ENTRA_ID_CLIENT_SECRET`
* `AUTH_EE_MICROSOFT_ENTRA_ID_ISSUER`

***
