AWS Cognito
Scopri come configurare LibreChat per utilizzare AWS Cognito per l'autenticazione degli utenti.
Crea un nuovo User Pool in Cognito
- Visita: https://console.aws.amazon.com/cognito/
- Accedi come Root User
- Fai clic su
Create user pool
Configura l'esperienza di accesso
Le opzioni di accesso al pool di utenti Cognito devono includere User Name ed Email.
Configura i requisiti di sicurezza
Puoi configurare i requisiti della password ora, se lo desideri.
Configura l'esperienza di registrazione
Scegli gli attributi richiesti durante la registrazione. Il minimo richiesto è name. Se desideri che gli utenti utilizzino il proprio nome completo al momento della registrazione, utilizza given_name e family_name come attributi richiesti.
Configurazione della consegna dei messaggi
L'invio di email con Cognito può essere utilizzato gratuitamente fino a 50 email al giorno
Integra la tua app
Seleziona Use Cognitio Hosted UI e scegli un nome di dominio
Imposta il tipo di app su Confidential client
Assicurati che Generate a client secret sia impostato.
Imposta Allowed callback URLs su https://YOUR_DOMAIN/oauth/openid/callback
Sotto Advanced app client settings assicurati che Profile sia incluso negli OpenID Connect scopes (in basso)
Revisione e creazione
Ora puoi apportare modifiche dell'ultimo minuto; clicca su Create user pool quando hai finito di revisionare la configurazione.
Ottieni le tue variabili d'ambiente
- Apri il tuo User Pool
- L'
User Pool IDe la tua regione AWS saranno utilizzati per costruire l'OPENID_ISSUER(vedi sotto)
- Vai alla scheda
App Integrations
- Apri il client dell'app
- Attiva
Show Client Secret
-
Usa il
Client IDperOPENID_CLIENT_ID -
Usa il
Client secretperOPENID_CLIENT_SECRET -
Genera una stringa casuale per
OPENID_SESSION_SECRET
OPENID_SCOPEeOPENID_CALLBACK_URLsono preconfigurati con i valori corretti
- Apri il file
.envnella root della tua cartella LibreChat e aggiungi le seguenti variabili con i valori che hai copiato:
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]
Se Cognito è configurato con un provider OIDC, ad esempio la federazione con Entra, è necessarioOPENID_GENERATE_NONCE=true. In caso contrario, Cognito lo genererà comunque e la convalida delle attestazioni fallirà poiché il client non ne ha fornito uno.
- Salva il file .env
Nota: Se si utilizza Docker, eseguire
docker compose up -dper applicare le modifiche alla configurazione nel file .env
Com’è questa guida?