Authentification et 2FA
Sécurisez votre instance sh0 avec une connexion par mot de passe ou Google OAuth, et ajoutez une couche de protection supplémentaire avec l'authentification à deux facteurs.
Méthodes de connexion
sh0 prend en charge deux méthodes d'authentification. Les deux produisent un jeton JWT utilisé pour toutes les requêtes API et l'accès au tableau de bord.
Authentification par mot de passe
La méthode d'authentification par défaut. Lors de la première installation, sh0 crée un compte administrateur avec des identifiants par défaut affichés dans les logs du serveur. Vous devriez changer le mot de passe immédiatement après la première connexion.
curl -X POST https://your-server:9000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "your-password"
}'La réponse contient un jeton JWT valide pendant 30 jours :
{
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "usr_abc123",
"email": "[email protected]",
"role": "admin"
}
}
}Google OAuth
Pour les utilisateurs de sh0 Cloud, la connexion Google est disponible comme méthode de connexion. Elle utilise le flux OAuth 2.0 de Google avec vérification du jeton d'identité via JWKS.
- Cliquez sur Se connecter avec Google sur la page de connexion.
- Authentifiez-vous avec votre compte Google.
- sh0 vérifie le jeton d'identité et crée ou lie votre compte.
Activation de l'authentification à deux facteurs
L'authentification à deux facteurs (2FA) ajoute une couche de sécurité supplémentaire en exigeant un mot de passe à usage unique basé sur le temps (TOTP) en plus de vos identifiants habituels.
- Accédez à Paramètres → Sécurité dans le tableau de bord.
- Cliquez sur Activer la 2FA.
- Scannez le code QR avec une application d'authentification (Google Authenticator, Authy, 1Password, etc.).
- Saisissez le code à 6 chiffres de votre application d'authentification pour vérifier la configuration.
- Sauvegardez vos codes de secours dans un emplacement sécurisé.
Une fois activée, chaque connexion nécessitera le code TOTP à 6 chiffres après la saisie de votre e-mail et mot de passe.
curl -X POST https://your-server:9000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "your-password",
"totp_code": "123456"
}'sh0 auth reset-2fa --email [email protected]Codes de secours
Lorsque vous activez la 2FA, sh0 génère 10 codes de secours à usage unique. Chaque code peut être utilisé une fois à la place d'un code TOTP si vous perdez l'accès à votre application d'authentification.
a1b2c3d4e5
f6g7h8i9j0
k1l2m3n4o5
p6q7r8s9t0
u1v2w3x4y5
z6a7b8c9d0
e1f2g3h4i5
j6k7l8m9n0
o1p2q3r4s5
t6u7v8w9x0Vous pouvez régénérer les codes de secours à tout moment depuis Paramètres → Sécurité → Régénérer les codes de secours. Cela invalide tous les codes précédemment générés.
Changement de mot de passe
Pour changer votre mot de passe :
- Allez dans Paramètres → Profil.
- Cliquez sur Changer le mot de passe.
- Saisissez votre mot de passe actuel et votre nouveau mot de passe.
- Si la 2FA est activée, vous serez invité à saisir un code TOTP.
Les mots de passe sont hachés avec Argon2id avant le stockage. sh0 impose une longueur minimale de mot de passe de 8 caractères.
Gestion des sessions
sh0 utilise des jetons JWT pour la gestion des sessions. Les jetons sont valides pendant 30 jours par défaut. Vous pouvez consulter et gérer les sessions actives depuis le tableau de bord.
Depuis le panneau Sessions, vous pouvez :
- Voir les sessions actives : Voir tous les appareils et navigateurs où vous êtes connecté.
- Révoquer une session : Invalider une session spécifique (par ex., si vous êtes resté connecté sur un ordinateur partagé).
- Révoquer toutes les sessions : Se déconnecter partout. Utile si vous suspectez que vos identifiants ont été compromis.
curl -X DELETE https://your-server:9000/api/auth/sessions \
-H "Authorization: Bearer YOUR_TOKEN"