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

AWS Cognito

Apprenez à configurer LibreChat pour utiliser AWS Cognito pour l'authentification des utilisateurs.

Créer un nouveau User Pool dans Cognito

image

Configurer l'expérience de connexion

Vos options de connexion au groupe d'utilisateurs Cognito doivent inclure User Name et Email.

image

Configurer les exigences de sécurité

Vous pouvez configurer les exigences de mot de passe dès maintenant si vous le souhaitez

image

Configurer l'expérience d'inscription

Choisissez les attributs requis lors de l'inscription. Le minimum requis est name. Si vous souhaitez obliger les utilisateurs à utiliser leur nom complet lors de l'inscription, utilisez given_name et family_name comme attributs requis.

image

Configurer la distribution des messages

L'envoi d'e-mails avec Cognito peut être utilisé gratuitement jusqu'à 50 e-mails par jour

image

Intégrer votre application

Sélectionnez Use Cognitio Hosted UI et choisissez un nom de domaine

image

Définissez le type d'application sur Confidential client Assurez-vous que Generate a client secret est activé. Définissez les Allowed callback URLs sur https://YOUR_DOMAIN/oauth/openid/callback

image

Sous Advanced app client settings, assurez-vous que Profile est inclus dans les OpenID Connect scopes (en bas).

image

Examiner et créer

Vous pouvez maintenant effectuer des modifications de dernière minute, cliquez sur Create user pool lorsque vous avez terminé de vérifier la configuration.

image

image

image

image

Obtenez vos variables d'environnement

  1. Ouvrez votre User Pool

image

  1. Le User Pool ID et votre région AWS seront utilisés pour construire le OPENID_ISSUER (voir ci-dessous)

image image

  1. Allez dans l'onglet App Integrations

image

  1. Ouvrir le client de l'application

image

  1. Activer Show Client Secret

image

  • Utilisez le Client ID pour OPENID_CLIENT_ID

  • Utilisez le Client secret pour OPENID_CLIENT_SECRET

  • Générez une chaîne aléatoire pour le OPENID_SESSION_SECRET

Les variables OPENID_SCOPE et OPENID_CALLBACK_URL sont préconfigurées avec les valeurs correctes.

  1. Ouvrez le fichier .env à la racine de votre dossier LibreChat et ajoutez les variables suivantes avec les valeurs que vous avez copiées :
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]
Si Cognito est configuré avec un fournisseur OIDC, c'est-à-dire une fédération avec Entra, OPENID_GENERATE_NONCE=true est requis. Sinon, Cognito le générera indépendamment et la validation des revendications échouera car le client n'en a pas fourni.

  1. Enregistrez le fichier .env

Remarque : Si vous utilisez Docker, exécutez docker compose up -d pour appliquer les modifications de configuration du fichier .env

Que pensez-vous de ce guide ?