Authentification : se connecter à SilenceWatch
La connexion à SilenceWatch dépend d’un seul réglage de l’instance, AUTH_MODE. Le mode décide quelles méthodes existent : celles qu’il ne nomme pas n’ont aucun point d’entrée. Les clés d’API et les adresses de heartbeat sont un système à part, que rien de tout cela ne touche. Cette page résume ; le guide complet, en anglais détaille chaque réglage.
Les trois modes
Section intitulée « Les trois modes »AUTH_MODE |
On se connecte avec | À choisir quand |
|---|---|---|
passkey (défaut) |
Une passkey : empreinte, visage ou code de l’appareil. Des codes de récupération si toutes les passkeys sont perdues | N’importe qui peut joindre l’instance et vous ne voulez rien qui se hameçonne ou qui fuite |
password |
Une adresse e-mail et un mot de passe de 12 caractères au moins | Une instance privée où les passkeys en demandent plus que l’équipe n’en veut |
full |
Google, Microsoft, ou une passkey ajoutée après la première connexion | Les gens ont déjà un compte Google ou Microsoft et vous préférez ne pas détenir d’identifiant pour eux |
Toute autre valeur arrête le serveur au démarrage et liste les valeurs valides. En passkey et full, le serveur refuse aussi de démarrer sans https:// (ou localhost), avec un domaine de passkey (AUTH_RP_ID) qui ne correspond pas à BASE_URL, ou en full sans les identifiants des deux fournisseurs.
Le compte administrateur
Section intitulée « Le compte administrateur »ADMIN_EMAIL est obligatoire : le serveur ne démarre pas sans. Le compte qui porte cette adresse est celui de l’administrateur, le seul à voir les statistiques de l’instance (Réglages › Statistiques) et son état interne (GET /api/v1/status) ; tout autre compte reçoit 404, et une clé d’API 401.
Il ne peut être créé qu’avec un lien à usage unique, affiché dans le journal du serveur à chaque démarrage tant qu’il n’existe pas, que les inscriptions soient ouvertes ou non : il vaut 30 minutes, une seule fois, pour cette adresse seulement. Pour en obtenir un tout de suite :
docker compose exec silencewatch silencewatch create-adminLes autres comptes se créent librement tant que SIGNUP_ENABLED=true. À false, seul le compte administrateur peut être créé.
Sessions et actions sensibles
Section intitulée « Sessions et actions sensibles »Une session dure 30 jours et se prolonge à l’usage. Supprimer le compte, créer ou révoquer une clé d’API, ajouter ou retirer une passkey demandent une connexion de moins de dix minutes : la page vous redemande de vous connecter, puis continue.
Quand quelqu’un est enfermé dehors
Section intitulée « Quand quelqu’un est enfermé dehors »Rien de ce qui suit n’est un point d’entrée de l’API : cela se fait sur le serveur.
| Mode | Situation | Que faire |
|---|---|---|
passkey |
Passkeys perdues, codes de récupération conservés | Ils utilisent un code sur la page de connexion |
passkey |
Passkeys et codes perdus | cli.js recovery-codes --email … affiche une nouvelle série, une fois |
password |
Mot de passe oublié | cli.js reset-password --email … |
full |
Passkey perdue | Ils se connectent avec Google ou Microsoft |
Commandes de support
Section intitulée « Commandes de support »La même ligne de commande (silencewatch <commande> --email <adresse>, dans le conteneur, par exemple docker compose exec silencewatch silencewatch show --email jane@example.com) répond aux demandes courantes. Lancée sans argument, elle affiche cette liste. L’ancienne forme node packages/server/dist/auth/cli.js fonctionne toujours.
| Commande | Ce qu’elle fait |
|---|---|
show |
Affiche le compte : plan, abonnement, méthodes de connexion, sessions ouvertes, verrouillage, projets. Ne change rien et n’affiche aucun secret. |
create-admin |
Le lien d’installation à usage unique qui crée le compte administrateur (ADMIN_EMAIL), seul moyen de le créer. Sans --email. |
recovery-codes |
De nouveaux codes de récupération, une seule fois ; les anciens ne marchent plus. AUTH_MODE=passkey uniquement. |
reset-password |
Un nouveau mot de passe aléatoire, une seule fois ; ferme les sessions du compte. AUTH_MODE=password uniquement. |
unlock |
Lève un verrouillage après trop de mots de passe erronés. |
end-sessions |
Déconnecte le compte partout. |
disable |
Ferme la porte à un compte qui ressemble à un abus. Plus aucune connexion, par aucune méthode (mot de passe, passkey, code de récupération, Google ou Microsoft), ses sessions sont fermées et les clés d’API des projets dont il est seul propriétaire sont refusées. Rien n’est supprimé. Ses checks continuent de tourner et d’alerter, et un abonnement Stripe continue d’être facturé : à traiter dans le projet et dans Stripe. |
enable |
Annule disable. |
verify-email |
Marque l’adresse comme vérifiée. Google ne se rattache qu’à un compte dont l’adresse est vérifiée, et un compte créé par passkey n’a rien pour le prouver. |
reseal |
Sans --email. Chiffre la configuration de tous les canaux de notification avec la SECRET_KEY actuelle. Après un changement de SECRET_KEY, lancez-la avec OLD_SECRET_KEY=<l’ancienne valeur>, sinon les canaux sont illisibles. Sans danger si on la relance : elle indique ce qu’elle a chiffré, rechiffré ou laissé. |
set-plan --plan <nom> |
Place le compte sur un plan de PLAN_LIMITS ; --plan none retire les limites. Un compte avec un abonnement Stripe retrouve son plan au prochain événement. |
Chaque commande qui modifie quelque chose écrit une ligne operator.change dans le journal d’audit, avec la commande et le compte (jamais un mot de passe ni un code).
Changer AUTH_MODE plus tard ne supprime jamais un compte ; il faut en revanche redonner à chacun un moyen d’entrer. La procédure, mode par mode, est dans le guide complet.