Sistema de autenticación
Esta guía explica cómo utilizar el sistema de autenticación de usuarios de LibreChat, el cual ofrece inicios de sesión seguros y sencillos mediante correo electrónico y redes sociales. Aprenderá a configurar el registro, el inicio de sesión, el restablecimiento de contraseña y más.
General
Para una descripción general rápida, consulte la guía del usuario proporcionada aquí: Authentication
Aquí tienes una descripción general de la configuración general.
| Key | Type | Description | Example |
|---|---|---|---|
| ALLOW_EMAIL_LOGIN | boolean | Habilitar o deshabilitar SOLO el inicio de sesión por correo electrónico. | ALLOW_EMAIL_LOGIN=true |
| ALLOW_REGISTRATION | boolean | Habilitar o deshabilitar el registro por correo electrónico de nuevos usuarios. | ALLOW_REGISTRATION=true |
| ALLOW_SOCIAL_LOGIN | boolean | Permitir que los usuarios se conecten a LibreChat con varias redes sociales. | ALLOW_SOCIAL_LOGIN=false |
| ALLOW_SOCIAL_REGISTRATION | boolean | Habilitar o deshabilitar el registro de nuevos usuarios mediante varias redes sociales. | ALLOW_SOCIAL_REGISTRATION=false |
Nota: OpenID y SAML no admiten la capacidad de deshabilitar solo el registro.
Consejos rápidos:
- Incluso con el registro deshabilitado, puede agregar usuarios directamente a la base de datos utilizando el script create-user detallado a continuación.
- Para eliminar un usuario, puede utilizar el script delete-user que también se detalla a continuación.
Expiración de sesión y token de actualización
- Valores predeterminados: expiración de la sesión: 15 minutos, expiración del token de actualización: 7 días
- Para más información: GitHub PR #927 - Refresh Token
| Key | Type | Description | Example |
|---|---|---|---|
| SESSION_EXPIRY | integer (milliseconds) | Tiempo de expiración de la sesión. | SESSION_EXPIRY=1000 * 60 * 15 |
| REFRESH_TOKEN_EXPIRY | integer (milliseconds) | Tiempo de caducidad del token de actualización. | REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7 |
JWT Secret y Refresh Secret
- Debe utilizar nuevos valores seguros. Los ejemplos proporcionados son claves de 32 bytes (64 caracteres en hexadecimal).
- Utilice esta herramienta para generar algunas rápidamente: JWT Keys
| Key | Type | Description | Example |
|---|---|---|---|
| JWT_SECRET | string (hex) | Clave secreta JWT. | JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef |
| JWT_REFRESH_SECRET | string (hex) | Clave secreta de actualización JWT. | JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418 |
Sistema de moderación automatizado (opcional)
El Sistema de Moderación Automatizado está habilitado de forma predeterminada. Utiliza un mecanismo de puntuación para realizar un seguimiento de las infracciones de los usuarios. A medida que los usuarios realizan acciones como inicios de sesión, registros o envío de mensajes excesivos, acumulan puntuaciones de infracción. Al alcanzar un umbral establecido, el usuario y su IP son bloqueados temporalmente. Este sistema garantiza la seguridad de la plataforma mediante la supervisión y penalización de actividades rápidas o sospechosas.
Para configurar el sistema de moderación, revisa la guía de configuración.
Nota: Si deseas que esto funcione en modo de desarrollo, deberás crear un archivo llamado
.env.developmenten el directorio raíz y establecerDOMAIN_CLIENTenhttp://localhost:3090o en el puerto que proporcione vite al ejecutarnpm run frontend-dev
Scripts de gestión de usuarios
Crear User Script
El script create-user le permite agregar usuarios directamente a la base de datos, incluso cuando el registro está deshabilitado. Así es como se utiliza:
-
Para el
docker-compose.ymlpredeterminado (si utilizadocker compose uppara iniciar la aplicación): -
Para el
deploy-compose.yml(si seguiste la Guía de Docker en Ubuntu): -
Para el desarrollo local (desde la raíz del proyecto):
Siga las instrucciones para ingresar el correo electrónico y la contraseña del nuevo usuario.
Script para eliminar usuarios
Para eliminar un usuario, puedes usar el script delete-user:
-
Para el
docker-compose.ymlpredeterminado (si utilizadocker compose uppara iniciar la aplicación): -
Para el
deploy-compose.yml(si seguiste la Guía de Docker en Ubuntu): -
Para el desarrollo local (desde la raíz del proyecto):
Reemplace [email protected] con el correo electrónico del usuario que desea eliminar.
¿Qué te parece esta guía?