AWS Cognito
Leer hoe je LibreChat configureert om AWS Cognito te gebruiken voor gebruikersauthenticatie.
Maak een nieuwe User Pool aan in Cognito
- Bezoek: https://console.aws.amazon.com/cognito/
- Meld u aan als Root User
- Klik op
Create user pool
Configureer de inlogervaring
Je Cognito user pool aanmeldopties moeten User Name en Email bevatten.
Beveiligingsvereisten configureren
Je kunt de wachtwoordvereisten nu configureren als je dat wilt
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.
Berichtenbezorging configureren
Het verzenden van e-mail met Cognito kan gratis worden gebruikt voor maximaal 50 e-mails per dag
Integreer je app
Selecteer Use Cognitio Hosted UI en kies een domeinnaam
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
Zorg er onder Advanced app client settings voor dat Profile is opgenomen in de OpenID Connect scopes (onderaan).
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.
Verkrijg je omgevingsvariabelen
- Open uw User Pool
- De
User Pool IDen uw AWS-regio worden gebruikt om deOPENID_ISSUERsamen te stellen (zie hieronder)
- Ga naar het tabblad
App Integrations
- Open de app-client
- Schakel
Show Client Secretin/uit
-
Gebruik de
Client IDvoorOPENID_CLIENT_ID -
Gebruik de
Client secretvoorOPENID_CLIENT_SECRET -
Genereer een willekeurige string voor de
OPENID_SESSION_SECRET
De
OPENID_SCOPEenOPENID_CALLBACK_URLzijn vooraf geconfigureerd met de juiste waarden
- Open het
.envbestand 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 isOPENID_GENERATE_NONCE=truevereist. Anders zal Cognito deze hoe dan ook genereren en zal de validatie van de claims mislukken omdat de client er geen heeft verstrekt.
- Sla het .env bestand op
Let op: Als je Docker gebruikt, voer dan
docker compose up -duit om de wijzigingen in de .env configuratie toe te passen.
Hoe is deze gids?