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

AWS Cognito

Leer hoe je LibreChat configureert om AWS Cognito te gebruiken voor gebruikersauthenticatie.

Maak een nieuwe User Pool aan in Cognito

image

Configureer de inlogervaring

Je Cognito user pool aanmeldopties moeten User Name en Email bevatten.

image

Beveiligingsvereisten configureren

Je kunt de wachtwoordvereisten nu configureren als je dat wilt

image

Configureer de aanmeldingservaring

Kies de vereiste kenmerken bij aanmelding. Het minimum dat vereist is, is name. Als je wilt dat gebruikers hun volledige naam gebruiken bij aanmelding, gebruik dan given_name en family_name als vereiste kenmerken.

image

Berichtenbezorging configureren

Het verzenden van e-mail met Cognito kan gratis worden gebruikt voor maximaal 50 e-mails per dag

image

Integreer je app

Selecteer Use Cognitio Hosted UI en kies een domeinnaam

image

Stel het app-type in op Confidential client Zorg ervoor dat Generate a client secret is ingeschakeld. Stel de Allowed callback URLs in op https://YOUR_DOMAIN/oauth/openid/callback

image

Zorg er onder Advanced app client settings voor dat Profile is opgenomen in de OpenID Connect scopes (onderaan).

image

Controleren en aanmaken

Je kunt nu wijzigingen op het laatste moment aanbrengen; klik op Create user pool wanneer je klaar bent met het controleren van de configuratie.

image

image

image

image

Verkrijg je omgevingsvariabelen

  1. Open uw User Pool

image

  1. De User Pool ID en uw AWS-regio worden gebruikt om de OPENID_ISSUER samen te stellen (zie hieronder)

image image

  1. Ga naar het tabblad App Integrations

image

  1. Open de app-client

image

  1. Schakel Show Client Secret in/uit

image

  • Gebruik de Client ID voor OPENID_CLIENT_ID

  • Gebruik de Client secret voor OPENID_CLIENT_SECRET

  • Genereer een willekeurige string voor de OPENID_SESSION_SECRET

De OPENID_SCOPE en OPENID_CALLBACK_URL zijn vooraf geconfigureerd met de juiste waarden

  1. Open het .env bestand in de hoofdmap van je LibreChat map en voeg de volgende variabelen toe met de waarden die je hebt gekopieerd:
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
# Maximum logout URL length before using logout_hint instead of id_token_hint (default: 2000)
# OPENID_MAX_LOGOUT_URL_LENGTH=2000
# Optional: generates the nonce url parameter.
OPENID_GENERATE_NONCE=true

[!WARNING]
Als Cognito is geconfigureerd met een OIDC-provider, d.w.z. federatie naar Entra, dan is OPENID_GENERATE_NONCE=true vereist. Anders zal Cognito deze hoe dan ook genereren en zal de validatie van de claims mislukken omdat de client er geen heeft verstrekt.

  1. Sla het .env bestand op

Let op: Als je Docker gebruikt, voer dan docker compose up -d uit om de wijzigingen in de .env configuratie toe te passen.

Hoe is deze gids?