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

AWS Cognito

Scopri come configurare LibreChat per utilizzare AWS Cognito per l'autenticazione degli utenti.

Crea un nuovo User Pool in Cognito

image

Configura l'esperienza di accesso

Le opzioni di accesso al pool di utenti Cognito devono includere User Name ed Email.

image

Configura i requisiti di sicurezza

Puoi configurare i requisiti della password ora, se lo desideri.

image

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.

image

Configurazione della consegna dei messaggi

L'invio di email con Cognito può essere utilizzato gratuitamente fino a 50 email al giorno

image

Integra la tua app

Seleziona Use Cognitio Hosted UI e scegli un nome di dominio

image

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

image

Sotto Advanced app client settings assicurati che Profile sia incluso negli OpenID Connect scopes (in basso)

image

Revisione e creazione

Ora puoi apportare modifiche dell'ultimo minuto; clicca su Create user pool quando hai finito di revisionare la configurazione.

image

image

image

image

Ottieni le tue variabili d'ambiente

  1. Apri il tuo User Pool

image

  1. L'User Pool ID e la tua regione AWS saranno utilizzati per costruire l'OPENID_ISSUER (vedi sotto)

image image

  1. Vai alla scheda App Integrations

image

  1. Apri il client dell'app

image

  1. Attiva Show Client Secret

image

  • Usa il Client ID per OPENID_CLIENT_ID

  • Usa il Client secret per OPENID_CLIENT_SECRET

  • Genera una stringa casuale per OPENID_SESSION_SECRET

OPENID_SCOPE e OPENID_CALLBACK_URL sono preconfigurati con i valori corretti

  1. Apri il file .env nella 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, è necessario OPENID_GENERATE_NONCE=true. In caso contrario, Cognito lo genererà comunque e la convalida delle attestazioni fallirà poiché il client non ne ha fornito uno.

  1. Salva il file .env

Nota: Se si utilizza Docker, eseguire docker compose up -d per applicare le modifiche alla configurazione nel file .env

Com’è questa guida?