La fonctionnalité Passwordless ajoutée dans la version 19 de Nextcloud permet de s'authentifier sans mot de passe. Le support de WebAuthn permet de s'authentifier sans mot de passe, à l'aide d'une clef compatible Fido2.
Nous allons décrire ici comment paramétrer une clef Fido2 pour activer l'authentification sans mot de passe sur Nextcloud 19+.
Une machine disponible utilisant Docker, sur laquelle pointe un nom de domaine, qui dispose d'un certificat SSL valide. Un reverse-proxy est installé en frontal du container docker.
Mon instance de test est démarrée avec le fichier docker-compose.yaml. Il est lancé avec la ligne :
NEXTCLOUD_URL=mondomaine.tld NEXTCLOUD_ADMIN_USER=admin NEXTCLOUD_ADMIN_PASSWORD=monpassword docker-compose up
Nous avons utilisé une clef Token2 T2F2 ALU pour ce test. Elle nous a paru un excellent rapport qualité prix même si elle n'est pas open-source.
Vous aurez besoin de la Companion App pour paramétrer votre code PIN. Elle est disponible pour Windows et iOS (version NFC).
Laissez le temps à votre ordinateur de trouver la clef et d'installer ses pilotes (Windows)
Configurer votre code PIN 1234
par exemple.
- Insérez votre clef dans le port USB
- Authentifiez vous de manière normale avec votre identifiant et votre mot de passe.
- Naviguez vers les paramètres
- Sélectionnez la section Sécurité
- Démarrez l'ajout de la clef Webauthn
- Une fenêtre vous demande de saisir le code PIN de la clef
- Vous devrez appuyer sur le bouton de la clef pour valider l'enregistrement de celle ci.
- Il vous reste à donner un nom à la clef juste ajoutée.
- Vous voilà prêt
- Insérez votre clef dans le port USB
- Depuis un navigateur non authentifié, connectez vous à votre instance Nextcloud : https://mondomaine.tld pour arriver sur la mire de connexion.
- Choisissez le lien Se connecter avec un appareil
- Saisissez votre login, puis cliquez sur Connecter
- Composer votre code pin
- Appuyez sur le bouton de la clef
- Vous êtes authentifié
Nextcloud | Système | Navigateur | Version | Résultat |
---|---|---|---|---|
19.0.0.12 | Windows 10 | Firefox | 79.0b2 | Echec |
19.0.0.12 | Windows 10 | Chrome | 83.0 | Echec |
19.0.0.12 | Windows 10 | Edge | 83.0 | Réussite |
19.0.0.12 | Windows 10 | Vivaldi | 3.1.1929.45 | Réussite |
Nextcloud | Système | Navigateur | Version | Résultat |
---|---|---|---|---|
19.0.0.12 | Windows 10 | Firefox | 79.0b2 | Réussite |
19.0.0.12 | Windows 10 | Chrome | 83.0 | Réussite |
19.0.0.12 | Windows 10 | Edge | 83.0 | Réussite |
19.0.0.12 | Windows 10 | Vivaldi | 3.1.1929.45 | Réussite |
19.0.0.12 | Windows 7 | Firefox | 68.4.1 ESR | Réussite |
19.0.0.12 | MacOS 10.15.5 | Firefox | 78.0 | Réussite |
19.0.0.12 | MacOS 10.15.5 | Safari | 13.1.1 | Réussite |
19.0.0.12 | MacOS 10.15.5 | Chrome | 83.0 | Réussite |
- Sur Nextcloud, l'authentification par mot de passe reste active. L'authentification WebAuthn est donc un confort. Il faut donc que votre mot de passe soit conforme aux normes de sécurité. Utilisez un gestionnaire de mot de passe, ce sera plus facile.
- Le corolaire est qu'en cas de perte de votre clef, vous n'êtes pas bloqué.
- Lorsque la session a expiré, ou pour changer un paramètre sur votre compte, c'est le mot de passe qui est demandé.
- Lors de l'authentification, certains couples OS / Navigateur demandent le code PIN, d'autres non. C'est normal.