Project

General

Profile

Development #33556

Multi-facteurs : ajout du facteur d'authentification TOTP

Added by Valentin Deniaud 7 months ago. Updated 5 months ago.

Status:
Solution proposée
Priority:
Normal
Category:
-
Target version:
-
Start date:
29 May 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

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.

0004-auth_oath-deny-access-to-views-on-insufficient-auth-.patch View (3.37 KB) Valentin Deniaud, 29 May 2019 03:51 PM

0002-auth2_multifactor-add-OATH-authentication-factor.patch View (14.3 KB) Valentin Deniaud, 29 May 2019 03:51 PM

0001-utils-render-authenticator-response-if-necessary.patch View (1.89 KB) Valentin Deniaud, 29 May 2019 03:51 PM

0003-auth_oath-allow-user-to-enable-OATH-factor.patch View (10 KB) Valentin Deniaud, 29 May 2019 04:06 PM

0001-utils-render-authenticator-response-if-necessary.patch View (1.89 KB) Valentin Deniaud, 24 Jun 2019 06:40 PM

0002-auth2_multifactor-add-OATH-authentication-factor.patch View (21.8 KB) Valentin Deniaud, 25 Jun 2019 03:56 PM

0003-auth_oath-add-recovery-codes.patch View (11.3 KB) Valentin Deniaud, 25 Jun 2019 03:56 PM

0002-auth2_multifactor-add-OATH-authentication-factor.patch View (29.9 KB) Valentin Deniaud, 11 Jul 2019 04:40 PM

0003-multifactor-totp-turn-plugin-into-app.patch View (11.1 KB) Valentin Deniaud, 12 Jul 2019 03:03 PM

History

#1 Updated by Valentin Deniaud 7 months ago

#2 Updated by Frédéric Péters 7 months 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)

#3 Updated by Valentin Deniaud 7 months ago

  • Description updated (diff)

#4 Updated by Valentin Deniaud 7 months ago

  • File 0003-auth_oath-deny-access-to-views-on-insufficient-auth-.patch added

(oubli de commit un fichier)

#5 Updated by Valentin Deniaud 7 months ago

  • File deleted (0003-auth_oath-deny-access-to-views-on-insufficient-auth-.patch)

#6 Updated by Valentin Deniaud 7 months ago

  • File deleted (0003-auth_oath-allow-user-to-enable-this-factor.patch)

#8 Updated by Valentin Deniaud 6 months 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.

#9 Updated by Valentin Deniaud 6 months 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.

#10 Updated by Valentin Deniaud 6 months ago

Nettoyage et textes plus clairs, puis squash général (patchs 2, 3, 4 réunis).

#11 Updated by Valentin Deniaud 6 months ago

  • File deleted (0002-auth2_multifactor-add-OATH-authentication-factor.patch)

#12 Updated by Valentin Deniaud 6 months ago

Ajout des codes de secours (et je mets à jour le patch d'avant car oubli de commit un fichier).

#13 Updated by Valentin Deniaud 5 months ago

Du mieux avec les nouvelles idées que j'ai eues en codant #34575. Plus de patch 3, tout dans le 2.

#14 Updated by Benjamin Dauvergne 5 months 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.

#15 Updated by Valentin Deniaud 5 months 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 ?

#16 Updated by Benjamin Dauvergne 5 months 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_*.

#17 Updated by Valentin Deniaud 5 months ago

C'est marrant, du coup j'ai presque l'impression de faire du django et pas de l'authentic ! (/trolldi)

#18 Updated by Benjamin Dauvergne 5 months 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.

Also available in: Atom PDF