---
title: Configuring Keycloak Authentication for LobeHub
description: >-
  Learn how to configure Keycloak SSO for LobeHub, including creating a client
  and setting up environment variables.
tags:
  - Keycloak
  - Authentication
  - LobeHub
  - Single Sign-On
---

# Configuring Keycloak Authentication

[Keycloak](https://www.keycloak.org/) is an open-source Identity and Access Management solution.

<Steps>
  ### Create Client in Keycloak

  1. Log in to your Keycloak Admin Console
  2. Select your realm (or create a new one)
  3. Go to **Clients** > **Create client**
  4. Configure the client:
     - **Client type**: `OpenID Connect`
     - **Client ID**: `lobechat` (or any name you prefer)
  5. Click **Next**
  6. Enable **Client authentication** (On)
  7. Click **Next** and then **Save**

  ### Configure Redirect URI

  In the client **Settings** tab:

  1. Add redirect URI under **Valid redirect URIs**

  <Callout type={'info'}>
    Callback URL format:

    - Local development: `http://localhost:3210/api/auth/callback/keycloak`
    - Production: `https://your-domain.com/api/auth/callback/keycloak`
  </Callout>

  ### Get Client Secret

  Go to the **Credentials** tab and copy the **Client secret**.

  ### Get Issuer URL

  The issuer URL format: `https://your-keycloak-domain/realms/your-realm`

  For example: `https://keycloak.example.com/realms/master`

  ### Configure Environment Variables

  | Environment Variable   | Type     | Description                                                     |
  | ---------------------- | -------- | --------------------------------------------------------------- |
  | `AUTH_SECRET`          | Required | Session encryption key, generate with `openssl rand -base64 32` |
  | `AUTH_SSO_PROVIDERS`   | Required | Set to `keycloak`                                               |
  | `AUTH_KEYCLOAK_ID`     | Required | Client ID                                                       |
  | `AUTH_KEYCLOAK_SECRET` | Required | Client Secret                                                   |
  | `AUTH_KEYCLOAK_ISSUER` | Required | `https://your-keycloak-domain/realms/your-realm`                |

  <Callout type={'tip'}>
    Go to [📘 Environment Variables](/docs/self-hosting/environment-variables/auth#keycloak)
    for detailed information.
  </Callout>
</Steps>

<Callout type={'info'}>
  After successful deployment, users will be able to authenticate with Keycloak
  and use LobeHub.
</Callout>

## Related Resources

- [Keycloak Documentation](https://www.keycloak.org/documentation)
- [Keycloak OpenID Connect Guide](https://www.keycloak.org/docs/latest/securing_apps/#_oidc)
