Authentication Manager
L'Authentication Manager (AM) de RaidProtect est un système d'authentification avancé permettant de protéger l'accès à certains rôles Discord par une vérification d'identité. Grâce aux passkeys (WebAuthn), codes PIN et OTP, seuls les membres authentifiés peuvent obtenir des rôles sensibles.
❓ Fonctionnement général
L'Authentication Manager repose sur un système de rôles protégés et de sessions temporaires. Lorsqu'un administrateur configure un rôle avec l'AM :
- Le rôle Discord est protégé par une authentification obligatoire.
- Les membres autorisés doivent s'authentifier via la commande
/authpour obtenir le rôle. - Une session temporaire est créée avec une durée définie (configurable).
- À l'expiration de la session, le rôle est automatiquement retiré.
L'Authentication Manager nécessite que chaque membre crée un profil d'authentification via /auth-profile avant de pouvoir s'authentifier.
🔐 Grades de sécurité
Chaque méthode d'authentification est associée à un grade de sécurité. Les rôles protégés exigent un grade minimum que le membre doit atteindre.
| Grade | Condition |
|---|---|
| Au moins une passkey enregistrée | |
| Code OTP (2FA) activé | |
| PIN renforcé de 8 chiffres ou plus | |
| PIN renforcé de 6 chiffres ou plus | |
| PIN simple de 6 chiffres ou plus | |
| PIN simple de 4 chiffres ou plus |
Le grade le plus élevé parmi vos méthodes configurées est automatiquement retenu. Par exemple, si vous avez un PIN simple (grade D) et une passkey (grade S), votre grade sera S.
🛡️ Méthodes d'authentification
- PIN
- OTP (Code 2FA)
- Passkey (WebAuthn)
Le code PIN est la méthode la plus simple. Deux modes sont disponibles :
- PIN simple : Saisie classique dans un formulaire (4 à 12 chiffres).
- PIN renforcé : Clavier numérique avec disposition aléatoire des touches (6 à 12 chiffres), empêchant l'observation par un tiers.
Les PIN faibles sont automatiquement rejetés : chiffres identiques répétés, séquences croissantes/décroissantes, et motifs courants.
L'OTP utilise le standard TOTP (Time-based One-Time Password) compatible avec les applications d'authentification telles que Google Authenticator, Authy ou 1Password.
- Code à 6 chiffres renouvelé toutes les 30 secondes.
- Tolérance d'une fenêtre de ±1 pour compenser les décalages.
Les passkeys offrent le niveau de sécurité le plus élevé (grade S). L'authentification se fait via le navigateur en utilisant :
- Empreinte digitale ou reconnaissance faciale (Touch ID, Face ID, Windows Hello).
- Clé de sécurité physique (YubiKey, etc.).
Lorsque vous utilisez une passkey, un lien externe s'ouvre dans votre navigateur pour effectuer la vérification. Une fois validée, le bot est notifié en temps réel et vous attribue le rôle.
👤 Profil d'authentification (/auth-profile)
La commande /auth-profile permet de gérer votre profil d'authentification personnel. Elle est accessible dans n'importe quel serveur ou en message privé.
Première utilisation
Lors de la première utilisation, un écran d'accueil vous explique le fonctionnement du système. Cliquez sur Continuer pour configurer votre première méthode d'authentification.
Gestion des authentifications
Depuis votre profil, vous pouvez gérer vos méthodes d'authentification.
- Ajouter, modifier ou supprimer un PIN (simple ou renforcé).
- Activer l'OTP (2FA) via QR code, régénérer le secret ou désactiver la méthode.
- Ajouter une passkeys via la page d'enregistrement ou la supprimer.
Chaque passkey affiche son nom d'appareil et la date de dernière utilisation.
Sessions actives
Consultez vos sessions actives depuis votre profil. En contexte de message privé, les sessions de tous vos serveurs sont visibles.
Journal d'audit
Consultez les 3 dernières actions effectuées sur votre compte, avec un accès au journal complet paginé.
Réinitialisation du compte
Le bouton J'ai oublié mes authentifiants permet de réinitialiser entièrement votre compte. Cette action :
- Supprime toutes vos méthodes d'authentification.
- Désactive tous vos accès aux rôles protégés.
- Nécessite une reconfiguration complète.
Cette action est irréversible. Tous vos accès seront révoqués immédiatement.
🔑 S'authentifier (/auth)
La commande /auth permet de s'authentifier pour obtenir un rôle protégé.
Processus d'authentification
- Exécutez
/authsur le serveur. - Un menu déroulant affiche les rôles disponibles avec leur grade requis et la durée de session.
- Sélectionnez un rôle.
- Choisissez votre méthode d'authentification parmi celles qui satisfont le grade minimum du rôle.
- Effectuez la vérification (PIN, OTP ou passkey).
- En cas de succès, le rôle Discord vous est attribué et une session est créée.
Seuls les rôles auxquels vous avez été assigné (statut Actif) apparaissent dans le menu.
Gestion des sessions
Depuis le panneau /auth, vous pouvez :
- Prolonger une session : Re-authentifiez-vous pour prolonger la durée de la session active.
- Se déconnecter : Révoque immédiatement la session et retire le rôle Discord.
Sécurité
- Tentatives limitées : Après 5 échecs, votre compte est verrouillé pendant 1 heure. Après 10 échecs, le compte est réinitialisé.
- Avertissement : Un message d'avertissement apparaît à partir de 3 tentatives échouées.
⚙️ Configuration serveur (/auth-settings)
La commande /auth-settings est réservée aux administrateurs et aux managers autorisés. Elle permet de configurer l'ensemble du système d'authentification sur le serveur.
Permissions
| Rôle | Accès |
|---|---|
| Propriétaire | Accès complet |
| Administrateur | Accès complet (sauf si la permission ADMINISTRATOR provient d'un rôle AM) |
| Manager | Accès limité, doit s'authentifier, ne peut gérer que les rôles inférieurs |
Les managers doivent atteindre un grade de sécurité minimum (configurable) pour accéder aux paramètres.
Paramètres du serveur
- Durée de session par défaut : Durée des sessions pour les nouveaux rôles (1 à 99 999 minutes).
- Grade minimum par défaut : Grade de sécurité minimum appliqué aux nouveaux rôles.
- Grade minimum des managers : Grade requis pour qu'un membre soit manager.
- URL du webhook : Webhook Discord pour recevoir les logs d'audit (optionnel).
Onglet Rôles
Ajouter un rôle
- Ouvrez
/auth-settingset accédez à l'onglet Rôles. - Cliquez sur Ajouter un rôle.
- Sélectionnez le rôle Discord à protéger.
- Définissez le grade minimum requis.
- Définissez la durée de session.
Limites : 3 rôles en version gratuite, 10 rôles en version premium.
Modifier un rôle
Vous pouvez modifier le grade minimum et la durée de session d'un rôle existant.
Activer / Désactiver un rôle
Un rôle peut être mis en pause sans le supprimer. Les rôles inactifs continuent d'occuper un emplacement.
Supprimer un rôle
Supprime définitivement le rôle du système d'authentification.
Onglet Utilisateurs
Ajouter un utilisateur
- Accédez à l'onglet Utilisateurs.
- Cliquez sur Ajouter un utilisateur.
- Sélectionnez le membre et les rôles à lui assigner.
- Le membre reçoit un message privé l'informant de l'invitation.
Limites : 20 utilisateurs en version gratuite, 50 en version premium.
Statuts des membres
| Statut | Description |
|---|---|
| Invité | Le membre a été ajouté mais n'a pas encore configuré son profil |
| En attente | Le profil est configuré, en attente d'approbation |
| Actif | Le membre peut s'authentifier pour obtenir le rôle |
| Désactivé | L'acc ès au rôle est temporairement suspendu |
Promouvoir en manager
Un manager peut gérer les utilisateurs et les rôles qui se trouvent en dessous de son plafond de permissions. Le plafond correspond à la position la plus élevée entre le rôle Discord et le rôle AM actif du manager.
Supprimer un utilisateur
Retire le membre de tous les rôles protégés sur le serveur.
Onglet Logs
Consultez le journal d'audit du serveur avec pagination. Chaque entrée contient : l'utilisateur, l'action, le type (AM ou Discord) et la date.
Onglet Sessions
Consultez toutes les sessions du serveur avec leur statut (Active, Expirée, Révoquée), l'utilisateur, le rôle, et les dates de création et d'expiration.