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

AWS Cognito

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

Erstellen eines neuen User Pools in Cognito

image

Anmeldeerfahrung konfigurieren

Ihre Cognito-Benutzerpool-Anmeldeoptionen sollten User Name und Email enthalten.

image

Sicherheitsanforderungen konfigurieren

Sie können die Passwortanforderungen jetzt konfigurieren, wenn Sie dies wünschen.

image

Registrierungserfahrung konfigurieren

Wählen Sie die bei der Registrierung erforderlichen Attribute aus. Das Minimum ist name. Wenn Sie möchten, dass Benutzer bei der Registrierung ihren vollständigen Namen angeben, verwenden Sie given_name und family_name als erforderliche Attribute.

image

Nachrichtenzustellung konfigurieren

Das Senden von E-Mails mit Cognito kann für bis zu 50 E-Mails pro Tag kostenlos genutzt werden.

image

Integrieren Sie Ihre App

Wählen Sie Use Cognitio Hosted UI und einen Domainnamen aus

image

Setzen Sie den App-Typ auf Confidential client. Stellen Sie sicher, dass Generate a client secret aktiviert ist. Setzen Sie die Allowed callback URLs auf https://YOUR_DOMAIN/oauth/openid/callback.

image

Stellen Sie unter Advanced app client settings sicher, dass Profile in den OpenID Connect scopes (ganz unten) enthalten ist.

image

Überprüfen und erstellen

Sie können jetzt noch kurzfristige Änderungen vornehmen. Klicken Sie auf Create user pool, wenn Sie die Konfiguration überprüft haben.

image

image

image

image

Holen Sie sich Ihre Umgebungsvariablen

  1. Öffnen Sie Ihren User Pool

image

  1. Die User Pool ID und Ihre AWS-Region werden verwendet, um den OPENID_ISSUER zu erstellen (siehe unten).

image image

  1. Gehen Sie zum Tab App Integrations

image

  1. Öffnen Sie den App-Client

image

  1. Show Client Secret umschalten

image

  • Verwenden Sie die Client ID für OPENID_CLIENT_ID

  • Verwenden Sie das Client secret für OPENID_CLIENT_SECRET

  • Generieren Sie eine zufällige Zeichenfolge für das OPENID_SESSION_SECRET

Die OPENID_SCOPE und OPENID_CALLBACK_URL sind mit den korrekten Werten vorkonfiguriert.

  1. Öffnen Sie die .env Datei im Stammverzeichnis Ihres LibreChat Ordners und fügen Sie die folgenden Variablen mit den von Ihnen kopierten Werten hinzu:
DOMAIN_CLIENT=https://your-domain.com # use http://localhost:3080 if not using a custom domain
DOMAIN_SERVER=https://your-domain.com # use http://localhost:3080 if not using a custom domain
 
OPENID_CLIENT_ID=Your client ID
OPENID_CLIENT_SECRET=Your client secret
OPENID_ISSUER=https://cognito-idp.[AWS REGION].amazonaws.com/[USER POOL ID]/.well-known/openid-configuration
OPENID_SESSION_SECRET=Any random string
OPENID_SCOPE=openid profile email
OPENID_CALLBACK_URL=/oauth/openid/callback
 
# Optional: redirects the user to the end session endpoint after logging out
OPENID_USE_END_SESSION_ENDPOINT=true
# Optional: generates the nonce url parameter.
OPENID_GENERATE_NONCE=true

[!WARNING]
Wenn Cognito mit einem OIDC-Anbieter konfiguriert ist, d. h. eine Föderation mit Entra besteht, ist OPENID_GENERATE_NONCE=true erforderlich. Andernfalls generiert Cognito diesen ungeachtet dessen, und die Validierung der Claims schlägt fehl, da der Client keinen bereitgestellt hat.

  1. Speichern Sie die .env Datei

Hinweis: Wenn Sie Docker verwenden, führen Sie docker compose up -d aus, um die Konfigurationsänderungen in der .env anzuwenden.

Wie finden Sie diese Anleitung?