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

AWS Cognito

Aprenda a configurar LibreChat para utilizar AWS Cognito para la autenticación de usuarios.

Crear un nuevo User Pool en Cognito

image

Configurar la experiencia de inicio de sesión

Las opciones de inicio de sesión de su grupo de usuarios de Cognito deben incluir User Name y Email.

image

Configurar los requisitos de seguridad

Puede configurar los requisitos de contraseña ahora si lo desea

image

Configurar la experiencia de registro

Elija los atributos requeridos al registrarse. El mínimo requerido es name. Si desea exigir que los usuarios utilicen su nombre completo al registrarse, utilice given_name y family_name como atributos requeridos.

image

Configurar la entrega de mensajes

El envío de correos electrónicos con Cognito se puede utilizar de forma gratuita hasta 50 correos electrónicos al día.

image

Integra tu aplicación

Seleccione Use Cognitio Hosted UI y elija un nombre de dominio

image

Establezca el tipo de aplicación en Confidential client Asegúrese de que Generate a client secret esté activado. Establezca las Allowed callback URLs en https://YOUR_DOMAIN/oauth/openid/callback

image

En Advanced app client settings, asegúrese de que Profile esté incluido en los OpenID Connect scopes (en la parte inferior).

image

Revisar y crear

Ahora puedes realizar cambios de último minuto; haz clic en Create user pool cuando hayas terminado de revisar la configuración.

image

image

image

image

Obtén tus variables de entorno

  1. Abra su User Pool

image

  1. El User Pool ID y tu región de AWS se utilizarán para construir el OPENID_ISSUER (ver más abajo)

image image

  1. Ve a la pestaña App Integrations

image

  1. Abre el cliente de la aplicación

image

  1. Alternar Show Client Secret

image

  • Utilice el Client ID para OPENID_CLIENT_ID

  • Utilice el Client secret para OPENID_CLIENT_SECRET

  • Genere una cadena aleatoria para OPENID_SESSION_SECRET

OPENID_SCOPE y OPENID_CALLBACK_URL están preconfigurados con los valores correctos

  1. Abre el archivo .env en la raíz de tu carpeta LibreChat y añade las siguientes variables con los valores que copiaste:
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á configurado con un proveedor OIDC, es decir, federación con Entra, se requiere OPENID_GENERATE_NONCE=true. De lo contrario, Cognito lo generará de todos modos y la validación de las claims fallará ya que el cliente no proporcionó uno.

  1. Guarda el archivo .env

Nota: Si utiliza Docker, ejecute docker compose up -d para aplicar los cambios de configuración en el archivo .env

¿Qué te parece esta guía?