Système d'authentification
Ce guide explique comment utiliser le système d'authentification des utilisateurs de LibreChat, qui propose des connexions sécurisées et simples par e-mail et réseaux sociaux. Vous apprendrez à configurer l'inscription, la connexion, la réinitialisation de mot de passe, et plus encore.
Général
Pour un aperçu rapide, consultez le guide de l'utilisateur fourni ici : Authentication
Voici un aperçu de la configuration générale.
| Key | Type | Description | Example |
|---|---|---|---|
| ALLOW_EMAIL_LOGIN | boolean | Activer ou désactiver UNIQUEMENT la connexion par e-mail. | ALLOW_EMAIL_LOGIN=true |
| ALLOW_REGISTRATION | boolean | Activer ou désactiver l'inscription par e-mail des nouveaux utilisateurs. | ALLOW_REGISTRATION=true |
| ALLOW_SOCIAL_LOGIN | boolean | Permettre aux utilisateurs de se connecter à LibreChat avec divers réseaux sociaux. | ALLOW_SOCIAL_LOGIN=false |
| ALLOW_SOCIAL_REGISTRATION | boolean | Activer ou désactiver l'inscription de nouveaux utilisateurs via divers réseaux sociaux. | ALLOW_SOCIAL_REGISTRATION=false |
Note : OpenID et SAML ne prennent pas en charge la possibilité de désactiver uniquement l'inscription.
Conseils rapides :
- Même si l'inscription est désactivée, vous pouvez ajouter des utilisateurs directement dans la base de données en utilisant le script create-user détaillé ci-dessous.
- Pour supprimer un utilisateur, vous pouvez utiliser le script delete-user également détaillé ci-dessous.
Expiration de session et jeton de rafraîchissement
- Valeurs par défaut : expiration de la session : 15 minutes, expiration du jeton de rafraîchissement : 7 jours
- Pour plus d'informations : GitHub PR #927 - Refresh Token
| Key | Type | Description | Example |
|---|---|---|---|
| SESSION_EXPIRY | integer (milliseconds) | Délai d'expiration de la session. | SESSION_EXPIRY=1000 * 60 * 15 |
| REFRESH_TOKEN_EXPIRY | integer (milliseconds) | Délai d'expiration du jeton d'actualisation. | REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7 |
JWT Secret et Refresh Secret
- Vous devriez utiliser de nouvelles valeurs sécurisées. Les exemples fournis sont des clés de 32 octets (64 caractères en hexadécimal).
- Utilisez cet outil pour en générer rapidement : Clés JWT
| Key | Type | Description | Example |
|---|---|---|---|
| JWT_SECRET | string (hex) | Clé secrète JWT. | JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef |
| JWT_REFRESH_SECRET | string (hex) | Clé secrète de rafraîchissement JWT. | JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418 |
Système de modération automatisé (optionnel)
Le système de modération automatisé est activé par défaut. Il utilise un mécanisme de notation pour suivre les violations des utilisateurs. À mesure que les utilisateurs effectuent des actions telles que des connexions, des inscriptions ou des envois de messages excessifs, ils accumulent des scores de violation. Une fois un seuil défini atteint, l'utilisateur et son adresse IP sont temporairement bannis. Ce système garantit la sécurité de la plateforme en surveillant et en pénalisant les activités rapides ou suspectes.
Pour configurer le système de modération, consultez le guide de configuration.
Veuillez noter : Si vous souhaitez que cela fonctionne en mode développement, vous devrez créer un fichier nommé
.env.developmentdans le répertoire racine et définirDOMAIN_CLIENTsurhttp://localhost:3090ou sur le port fourni par vite lors de l'exécution denpm run frontend-dev
Scripts de gestion des utilisateurs
Créer un script utilisateur
Le script create-user vous permet d'ajouter des utilisateurs directement dans la base de données, même lorsque l'inscription est désactivée. Voici comment l'utiliser :
-
Pour le
docker-compose.ymlpar défaut (si vous utilisezdocker compose uppour démarrer l'application) : -
Pour le
deploy-compose.yml(si vous avez suivi le Guide Docker Ubuntu) : -
Pour le développement local (depuis la racine du projet) :
Suivez les instructions pour saisir l'e-mail et le mot de passe du nouvel utilisateur.
Script de suppression d'utilisateur
Pour supprimer un utilisateur, vous pouvez utiliser le script delete-user :
-
Pour le
docker-compose.ymlpar défaut (si vous utilisezdocker compose uppour démarrer l'application) : -
Pour le
deploy-compose.yml(si vous avez suivi le Guide Docker Ubuntu) : -
Pour le développement local (depuis la racine du projet) :
Remplacez [email protected] par l'adresse e-mail de l'utilisateur que vous souhaitez supprimer.
Que pensez-vous de ce guide ?