Développement #33556
Multi-facteurs : ajout du facteur d'authentification TOTP
0%
Description
Suite de #33550.
Méthode d'authentification classique par génération de code temporaire unique basée sur le temps, avec un secret transmis par QR code.
Encore pas mal de travail à faire ici, relecture, meilleure UI, et surtout sécurisation par l'envoi d'un email au moment de la première activation.
Files
History
Updated by Valentin Deniaud over 5 years ago
- File 0004-auth_oath-deny-access-to-views-on-insufficient-auth-.patch 0004-auth_oath-deny-access-to-views-on-insufficient-auth-.patch added
- File 0003-auth_oath-allow-user-to-enable-this-factor.patch added
- File 0002-auth2_multifactor-add-OATH-authentication-factor.patch 0002-auth2_multifactor-add-OATH-authentication-factor.patch added
- File 0001-utils-render-authenticator-response-if-necessary.patch 0001-utils-render-authenticator-response-if-necessary.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Updated by Frédéric Péters over 5 years ago
Et donc le commentaire que je mettais dans #33550 vient ici, et rejoint la partie "travailler l'UI".
Je suggérais (bien mal) de commencer par recueillir ce qui pouvait exister niveau UI pour les usagers qui voudraient configurer ça (regarder gitlab, github, gmail, etc.). (mais à regarder ces patchs cette partie ne se trouve pas dans ce ticket).
Basiquement, quelque chose comme https://wiki.gnome.org/Design/Apps/Maps/RelevantArt , une compilation de captures d'écran. (tout ça pourrait aller dans une page du wiki)
Updated by Valentin Deniaud over 5 years ago
- File 0003-auth_oath-deny-access-to-views-on-insufficient-auth-.patch added
(oubli de commit un fichier)
Updated by Valentin Deniaud over 5 years ago
- File deleted (
0003-auth_oath-deny-access-to-views-on-insufficient-auth-.patch)
Updated by Valentin Deniaud over 5 years ago
- File deleted (
0003-auth_oath-allow-user-to-enable-this-factor.patch)
Updated by Valentin Deniaud over 5 years ago
Frédéric Péters a écrit :
Basiquement, quelque chose comme https://wiki.gnome.org/Design/Apps/Maps/RelevantArt , une compilation de captures d'écran. (tout ça pourrait aller dans une page du wiki)
Fait ici, pour Google, Gitlab, Github https://dev.entrouvert.org/projects/bidon/wiki/Exemple_d'UI_authentification_TOTP. Pour le moment ça ne m'a pas paru utile d'en faire d'autres.
Par rapport à ce qui est déjà dans les patches du ticket, les bonnes idées à récupérer me semblent être les codes de secours, redemander le mot de passe avant de permettre l'activation et envoyer une notification par mail quand les réglages changent. Il faut aussi réfléchir à comment on va gérer le cas de quelqu'un qui a perdu son téléphone ou autre appareil et qui se retrouve bloqué.
Pourquoi pas ajouter une sous-page du profil a2 dédiée aux facteurs secondaires aussi, en l'état c'est sûrement pas très compréhensible d'avoir les réglages FC et TOTP affichés l'un à côté de l'autre, par ex.
Updated by Valentin Deniaud over 5 years ago
Valentin Deniaud a écrit :
Pourquoi pas ajouter une sous-page du profil a2 dédiée aux facteurs secondaires aussi, en l'état c'est sûrement pas très compréhensible d'avoir les réglages FC et TOTP affichés l'un à côté de l'autre, par ex.
Fait dans le ticket d'avant https://dev.entrouvert.org/issues/33550#note-6.
Updated by Valentin Deniaud over 5 years ago
- File 0001-utils-render-authenticator-response-if-necessary.patch 0001-utils-render-authenticator-response-if-necessary.patch added
- File 0002-auth2_multifactor-add-OATH-authentication-factor.patch added
Nettoyage et textes plus clairs, puis squash général (patchs 2, 3, 4 réunis).
Updated by Valentin Deniaud over 5 years ago
- File deleted (
0002-auth2_multifactor-add-OATH-authentication-factor.patch)
Updated by Valentin Deniaud over 5 years ago
- File 0002-auth2_multifactor-add-OATH-authentication-factor.patch 0002-auth2_multifactor-add-OATH-authentication-factor.patch added
- File 0003-auth_oath-add-recovery-codes.patch 0003-auth_oath-add-recovery-codes.patch added
Ajout des codes de secours (et je mets à jour le patch d'avant car oubli de commit un fichier).
Updated by Valentin Deniaud over 5 years ago
- File 0002-auth2_multifactor-add-OATH-authentication-factor.patch 0002-auth2_multifactor-add-OATH-authentication-factor.patch added
Du mieux avec les nouvelles idées que j'ai eues en codant #34575. Plus de patch 3, tout dans le 2.
Updated by Benjamin Dauvergne over 5 years ago
Plusieurs choses en passant, ne pas utiliser le système de plugin, il est déprécié.
En faire une application à part dans authentic2_auth_otp par exemple.
Updated by Valentin Deniaud over 5 years ago
Benjamin Dauvergne a écrit :
le système de plugin est déprécié.
Pas sûr de comprendre cette formulation, toutes les apps dans src/ du type authentic2_auth_* étant aussi des plugins.
J'en déduis que ce qui est déprécié c'est de les planquer autre part. Donc un mv et c'est dans la poche, en gros, pas de code à modifier ?
Updated by Benjamin Dauvergne over 5 years ago
Valentin Deniaud a écrit :
Benjamin Dauvergne a écrit :
le système de plugin est déprécié.
Pas sûr de comprendre cette formulation, toutes les apps dans src/ du type authentic2_auth_* étant aussi des plugins.
Ça ne change pas le fait qu'il ne faut pas en créer de nouvelle.
J'en déduis que ce qui est déprécié c'est de les planquer autre part. Donc un mv et c'est dans la poche, en gros, pas de code à modifier ?
Le système de plugin est déprécié ça veut dire : il faut tout déclarer dans les settings directement et simplement.
L'autre partie qui n'a rien à voir avec les plugins c'est qu'on ne crée plus d'application dans authentic2/ on les met dans src
en utilisant le namespace authentic2_*
.
Updated by Valentin Deniaud over 5 years ago
- File 0003-multifactor-totp-turn-plugin-into-app.patch 0003-multifactor-totp-turn-plugin-into-app.patch added
C'est marrant, du coup j'ai presque l'impression de faire du django et pas de l'authentic ! (/trolldi)
Updated by Benjamin Dauvergne over 5 years ago
Valentin Deniaud a écrit :
C'est marrant, du coup j'ai presque l'impression de faire du django et pas de l'authentic ! (/trolldi)
C'est l'objectif.
Updated by Valentin Deniaud almost 5 years ago
- Status changed from Solution proposée to Nouveau
- Assignee deleted (
Valentin Deniaud)
(plus envie d'avoir ces tickets dans mon rapport redmine)