toutes les méthodes d’authentification évoquées jusqu’ici ont un défaut majeur : elles ne permettent pas l’authentification des français de l’étranger.
Cependant, à l’occasion des élections législatives, #MAVOIX a accès en tant que « candidat » à la liste électorale des français de l’étranger avec notamment leurs e-mails.
L’idée, proposée par @Quitterie, est donc d’envoyer un e-mail à ces votants en leur proposant de créer leur compte sur une plateforme développée à cet effet, qui leur servira ensuite à s’authentifier sur la plateforme de vote.
Il faut donc développer :
l’envoi d’un formulaire à usage unique pour s’assurer que chaque votant français de l’étranger pourra s’enregistrer une fois
enregistrer ces votants dans une base de données
servir ces identifiants via un serveur d’authentification OAuth2
configurer la plateforme de vote pour lister/proposer ce connecteur OAuth2
un sous-domaine oauth-fde.mavoix.info et une machine sur laquelle déployer un conteneur Docker avec l’app à l’intérieur, par exemple une machine avec un reverse proxy déjà en place qui route le virtual host oauth-fde.mavoix.info vers le port 3000 fera l’affaire
J’ai commencé les tâches 2 et 3.
Le code est disponible ici :
Il y’a déjà un back-office d’admin, un frontend pour s’authentifier et un serveur OAuth2 qui n’a pas encore été testé.
Je pense que @ColinMaudry et @TomMorey sont super débordés encore pdt quelques jours, peut être @olivM ? peux-tu aider ? <3
Merci merci merci @Jean-Marc_Le_Roux pour ta réactivité !!!
La plateforme de don est en place, donc pour moi ça va être plus cool niveau MAVOIX. Par contre, je dois d’abord boucler des trucs pros avant la fin de la semaine.
Lundi aprèm je m’y mets, mais il nous manque un dev pour le côté lien base de données.
Je peux peut-être donner un coup de main sur 1 et 2 si il s’agit de php/mysql ? Il y a un framework ou quelque chose à utiliser ? Comment on s’assure de l’usage unique du formulaire ?
En fait je pense qu’on va créer tous les comptes et forcer les utilisateurs à « reset » leur mot de passe.
Seuls ceux qui auront effectivement changé leur mot de passe seront effectivement conservés après les élections.
Comme ça, pas besoin de lien unique par utilisateur à envoyer par e-mail. @Quitterie tu confirmes qu’on a les emails des votants et que c’est comme ça qu’on va les enregistrer ?
Sinon la partie OAuth2 est maintenant fonctionnelle :
interface de consentement pour que l’utilisateur donne son accord pour transmettre ses données personnelles à l’app (ex: plateforme de vote) à laquelle il se connecte
interface d’admin pour gérer les utilisateurs
interface d’admin pour rajouter des applications (ex : plateforme de vote) qui ont le droit d’utiliser le service de connexion, donc les autres app #MAVOIX pourront aussi utiliser cette plateforme d’authentification
script pour automatiser la création d’utilisateurs
On n’est pas forcé de tout mettre sur le même serveur. Le SMTP (qui sert à envoyer des emails) peut être situé sur un autre serveur sans soucis, à condition que la liaison soit chiffrée.
Ce qu’il faut généralement mettre sur le même serveur, c’est l’application et sa base de données, de façon à ce que les échanges entre les deux soient rapides.
En effet, il y a un serveur smtp sur forum.mavoix.info, c’est un container docker basé sur Docker Hub . Il est destiné à de l’envoi uniquement (le port 25 n’est pas ouvert), mais on peut changer çà. On peut envoyer des mails en ligne de commande avec Swaks - Swiss Army Knife for SMTP par exemple, mais Spf et dkim sont configurés sur forum.mavoix.info, ce qui implique que le domaine d’envoi soit identique, si on veut que les mails soient acceptés. @Jean-Marc_Le_Roux, si tu me passe ta clef publique, je peux te donner un accès.
En fait pour les mails liés au service d’auth lui même je pense que je vais prendre mailgun pour l’instant :
on a 10k/mois gratuit, ce qui est largement suffisant pour envoyer les e-mails de réinitialisation de mot de passe (je ne vois pas d’autre usage pour l’instant)
on pourra changer pour un serveur smtp dédié quand on aura dépassé cette limite
J’ai également rajouté hier soir le process pour mettre à jour le mot de passe.
Après avoir discuté hier avec @Quitterie et @_David des contraintes légale autour de l’utilisation des données des votants français de l’étranger, je pense que nous allons mettre en place le système suivant :
pré-génération d’une liste de tokens d’activation aléatoires
1 token => droit de créer 1 compte
URL de création de compte qui requiert un token
export d’un fichier CSV avec tous les tokens créés
envoie d’une URL spécifique avec ce token à chaque votant français de l’étranger
Ce process évite de créer tous les comptes à priori pour supprimer ensuite les comptes qui n’auraient pas été activé. On ne pourra donc pas nous reprocher de faire une sorte d’ « opt out » ou d’avoir constitué notre fichier à priori.
J’ai besoin que la personne qui s’occupe du mailing valide le process ci-dessus, notamment le fait qu’on pourra bien importer un token d’activation par contact dans la plateforme de mailing et que le lien unique pourra être envoyé à chaque votant.
Pas sûr d’être bien dans le sujet, mais pour info le registre des Français à l’étranger a été intégré dans le portail service-public.fr.
Et attention, je ne sais pas si vous le savez, mais les token dans les URL sont souvent filtrés lors d’un envoi en masse de courriels, j’en ai fait l’amère expérience il n’y a pas longtemps.
On est bloqué aussi de notre côté, il y a un énorme traitement des fichiers préalables. On a pris du retard, je pense que ça devrait être réglé d’ici demain matin au plus tard. Je te tiens au courant.
c’est @Kavi_Singh qui est en pointe sur la compréhension du sujet.