Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Keycloak

Erfahren Sie, wie Sie LibreChat für die Benutzerauthentifizierung mit Keycloak konfigurieren.

  1. Zugriff auf die Keycloak Admin Console:
  • Öffnen Sie die Keycloak Admin Console in Ihrem Webbrowser. Diese finden Sie normalerweise unter einer URL wie http://localhost:8080/auth/admin/.
  1. Erstellen Sie ein Realm (falls erforderlich):
  • Falls Sie noch keinen Realm für Ihre Anwendung haben, erstellen Sie einen. Klicken Sie auf 'Add Realm' und geben Sie ihm einen Namen.
  1. Client erstellen:
  • Klicken Sie in Ihrem Bereich auf 'Clients' und dann auf 'Create'.
  • Geben Sie eine Client-ID ein und wählen Sie 'openid-connect' als Client-Protokoll aus.
  • Setzen Sie 'Client Authentication' auf 'On'.
  • Geben Sie unter 'Valid Redirect URIs' http://localhost:3080/oauth/openid/callback oder den für Ihre Anwendung zutreffenden URI ein.

image

image

image

  1. Client konfigurieren:
  • Nachdem Sie den Client erstellt haben, werden Sie zu dessen Einstellungsseite weitergeleitet.
  • Notieren Sie sich die 'Client ID' und das 'Secret' aus dem Reiter 'Credentials' – Sie werden diese für Ihre Anwendung benötigen.

image

  1. Rollen hinzufügen (Optional): Wenn Sie den Zugriff auf Benutzer mit bestimmten Rollen beschränken möchten, können Sie Rollen in Keycloak definieren und diese den Benutzern zuweisen.
  • Gehen Sie zum Reiter 'Roles' in Ihrem Client oder Realm (je nachdem, wo Sie die Rollen definieren möchten).
  • Erstellen Sie Rollen, die mit dem/den Wert(en) übereinstimmen, den/die Sie in OPENID_REQUIRED_ROLE festgelegt haben.

image

  1. Benutzern Rollen zuweisen (Optional):
  • Gehen Sie zu 'Users', wählen Sie einen Benutzer aus und wechseln Sie zum Tab 'Role Mappings'.
  • Weisen Sie dem Benutzer mindestens eine der in OPENID_REQUIRED_ROLE angegebenen Rollen zu.

image

  1. Pfad der Rollenliste innerhalb des Tokens abrufen (Optional):
  • Dekodieren Sie Ihr jwtToken vom OpenID-Anbieter und bestimmen Sie den Pfad für die Rollenliste innerhalb des Zugriffstokens. Wenn Sie beispielsweise Keycloak verwenden, lautet der Pfad realm_access.roles.
  • Tragen Sie diesen Pfad in die Variable OPENID_REQUIRED_ROLE_PARAMETER_PATH in der .env Datei ein.
  • Über den Parameter OPENID_REQUIRED_ROLE_TOKEN_KIND können Sie festlegen, welche Token-Art Sie verwenden möchten. Mögliche Werte sind access und id.
  1. Aktualisieren Sie die Konfiguration Ihres Projekts:
  • Öffnen Sie die .env Datei in Ihrem Projektordner und fügen Sie die folgenden Variablen hinzu:
    OPENID_ISSUER=http://localhost:8080/realms/[YourRealmName]
    OPENID_CLIENT_ID=[YourClientID]
    OPENID_CLIENT_SECRET=[YourClientSecret]
    OPENID_SESSION_SECRET=[JustGenerateARandomSessionSecret]
    OPENID_CALLBACK_URL=/oauth/openid/callback
    OPENID_SCOPE="openid profile email"
    OPENID_REQUIRED_ROLE=[YourRequiredRole] # Single role or comma-separated roles (e.g., role1,role2,admin)
    OPENID_REQUIRED_ROLE_TOKEN_KIND=(access|id) # that means, `access` or `id`
    OPENID_REQUIRED_ROLE_PARAMETER_PATH="realm_access.roles"
     
    # Optional: redirects the user to the end session endpoint after logging out
    OPENID_USE_END_SESSION_ENDPOINT=true 

Wie finden Sie diese Anleitung?