Authentification des français de l'étranger

Bonjour,

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 :

  1. l’envoi d’un formulaire à usage unique pour s’assurer que chaque votant français de l’étranger pourra s’enregistrer une fois
  2. enregistrer ces votants dans une base de données
  3. servir ces identifiants via un serveur d’authentification OAuth2
  4. configurer la plateforme de vote pour lister/proposer ce connecteur OAuth2
  5. 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é.

Il faudrait quelqu’un pour bosser avec moi sur les tâches 1 et 5

C’est très urgent.
Des volontaires ?

3 « J'aime »

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.

1 « J'aime »

Hej,
désolé je suis aussi assez débordé au bureau, donc peu utile ces prochains jours.

Surement un problème de compétence de mon côté :frowning:

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 :

  • délégation à hydra pour la gestion d’OAuth2
  • interface de login/logout
  • 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
  • identité visuelle de #MAVOIX

donc il reste à :

  • importer tous les utilisateurs des votants français de l’étranger
  • implémenter la procédure de changement de mot de passe
2 « J'aime »

@Sly y’a un serveur/compte SMTP utilisable pour envoyer des mails ?

Oui monté sur la vm du forum il me semble… faut demander des details a @David.

oui @Jean-Marc_Le_Roux c’est exactement ça on récupère les mails de tous les citoyens français résidant hors de france.

ping @YannP et @Kavi_Singh

@ColinMaudry et @Sly est-ce qu’on ne met pas tout sur le même serveur ?

La réinitialisation de mot de passe est maintenant fonctionnelle :

Il ne manque plus que l’envoie de mail pour envoyer le lien de réinitialisation du mot de passe.

@Quitterie il me faudrait les données des votants dans un fichier Excel avec comme colonnes :

  • nom
  • prénom
  • date de naissance
  • email
  • sexe (si disponible)

Tu peux m’envoyer ça par e-mail stp ?

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.

1 « J'aime »

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
  • c’est presque déjà intégré dans le template d’app que j’ai utilisé

@Quitterie m’a dit que les e-mails pour la création de compte passerons de toute façon par un outil de mailing.

J’ai mis à jour la grille de notation des IDs numériques avec ce nouveau service développé/hosté par nos soins.

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.

2 « J'aime »

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.

1 « J'aime »

J’ai quelques questions et il me faut absolument des réponses aujourd’hui, sinon on ne sera pas dans les temps :

  • sur quel serveur/ip déployer le docker avec la plateforme d’authentification ?
  • à qui dois-je donner la clef ssh pour avoir accès à ce serveur ?
  • à qui envoyer la liste de 2 millions de tokens uniques pour la création de comptes ?
  • qui est volontaire pour tester ?
  • est-ce qu’on pourra bien envoyer un lien unique par utilisateur dans le mailing ?

@David @ColinMaudry @Quitterie @Sly Je suis toujours bloqué…

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.

@David @ColinMaudry @Quitterie @Sly j’aimerais au moins qu’on me réponde sur ces questions qui ne dépendent pas du mailing :

  • sur quel serveur/ip déployer le docker avec la plateforme d’authentification ?
  • à qui dois-je donner la clef ssh pour avoir accès à ce serveur ?
  • qui est volontaire pour tester ?

Merci,

Tu as besoin d’être root ?

Si non, on peut utiliser mon dédié, et je peux te configurer/installer ce dont tu as besoin. Toi tu aurais la main sur les fichiers de l’appli.

MP envoyé à Jean-Marc avec infos de connexion.