Projet

Général

Profil

Development #53879

connecteur FranceConnect / API Impôts Particulier

Ajouté par Benjamin Dauvergne il y a presque 3 ans. Mis à jour il y a presque 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
10 mai 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Plan initial donné dans #48668-6 et #48668-12. Re-description :

1. avoir une vue pour initier une danse FC
2. [optionellement] interroger le web-service API Impôts Particulier avec le sub/id_token/access_token obtenu
3. créer un jeton cryptographique contenant les données obtenus (identité FC [ + données impôts])
4. au retour afficher le succès et fait un window.parent.postMessage() indiquant échec/succès avec soit un message d'erreur soit un succès
5. avoir une vue de test (affichage du bouton de démarrage, ouverture d'un nouvel onglet vers la vue du 1. et gestion du postMessage()
6. avoir une source donnée capable de décoder un id contenant un token obtenu en 3.

L'intégration dans w.c.s. ne sera pas gérée ici (en dehors du fait qu'elle devra respecter le petit protocole autour de @window.postMessage()


Fichiers

0002-wip-add-franceconnect-connector.patch (26,5 ko) 0002-wip-add-franceconnect-connector.patch Benjamin Dauvergne, 17 mai 2021 13:44
0001-utils-add-origin-module.patch (2,11 ko) 0001-utils-add-origin-module.patch Benjamin Dauvergne, 17 mai 2021 13:44
0001-misc-add-template-for-franceconnect-widget.patch (5,65 ko) 0001-misc-add-template-for-franceconnect-widget.patch template pour w.c.s. Benjamin Dauvergne, 17 mai 2021 15:21
form-test-franceconnect.wcs (1,63 ko) form-test-franceconnect.wcs formulaire Benjamin Dauvergne, 17 mai 2021 15:24
workflow-franceconnect.wcs (8,47 ko) workflow-franceconnect.wcs workflow Benjamin Dauvergne, 17 mai 2021 15:24
datasource-franceconnect.wcs (465 octets) datasource-franceconnect.wcs datasource Benjamin Dauvergne, 17 mai 2021 15:24
Kazam_screencast_00000.mp4 (971 ko) Kazam_screencast_00000.mp4 Démo Benjamin Dauvergne, 17 mai 2021 15:28
0001-utils-add-origin-module-53879.patch (2,12 ko) 0001-utils-add-origin-module-53879.patch Benjamin Dauvergne, 18 mai 2021 10:48
0002-add-franceconnect-connector-53879.patch (28,1 ko) 0002-add-franceconnect-connector-53879.patch Benjamin Dauvergne, 18 mai 2021 10:48
0001-utils-add-origin-module-53879.patch (2,12 ko) 0001-utils-add-origin-module-53879.patch Benjamin Dauvergne, 21 mai 2021 11:18
0002-add-franceconnect-connector-53879.patch (28,1 ko) 0002-add-franceconnect-connector-53879.patch Benjamin Dauvergne, 21 mai 2021 11:18
0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch (1,2 ko) 0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch Benjamin Dauvergne, 25 mai 2021 10:37
0001-utils-add-origin-module-53879.patch (2,12 ko) 0001-utils-add-origin-module-53879.patch Benjamin Dauvergne, 25 mai 2021 10:37
0002-add-franceconnect-connector-53879.patch (28,1 ko) 0002-add-franceconnect-connector-53879.patch Benjamin Dauvergne, 25 mai 2021 10:37
0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch (1,2 ko) 0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch Benjamin Dauvergne, 25 mai 2021 11:00
0001-utils-add-origin-module-53879.patch (2,12 ko) 0001-utils-add-origin-module-53879.patch Benjamin Dauvergne, 25 mai 2021 11:00
0004-to-fixup-add-test-param-to-data_source.patch (1,25 ko) 0004-to-fixup-add-test-param-to-data_source.patch Benjamin Dauvergne, 25 mai 2021 11:00
0002-add-franceconnect-connector-53879.patch (28,1 ko) 0002-add-franceconnect-connector-53879.patch Benjamin Dauvergne, 25 mai 2021 11:00
0005-to-fixup-fix-callback-template-when-test-mode-is-not.patch (1,91 ko) 0005-to-fixup-fix-callback-template-when-test-mode-is-not.patch Benjamin Dauvergne, 25 mai 2021 11:00
0009-to-fixup-rename-franceconnect-to-franceconnect-data.patch (5,71 ko) 0009-to-fixup-rename-franceconnect-to-franceconnect-data.patch Benjamin Dauvergne, 27 mai 2021 14:34
0006-to-fixup-renommage-fc_text_template-text_template-et.patch (3,14 ko) 0006-to-fixup-renommage-fc_text_template-text_template-et.patch Benjamin Dauvergne, 27 mai 2021 14:34
0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch (1,2 ko) 0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch Benjamin Dauvergne, 27 mai 2021 14:34
0007-to-fixup-format-birtdate-using-locale-in-text-field.patch (1,99 ko) 0007-to-fixup-format-birtdate-using-locale-in-text-field.patch Benjamin Dauvergne, 27 mai 2021 14:34
0008-to-fixup-change-category-and-verbose_name.patch (1,03 ko) 0008-to-fixup-change-category-and-verbose_name.patch Benjamin Dauvergne, 27 mai 2021 14:34
0001-utils-add-origin-module-53879.patch (2,12 ko) 0001-utils-add-origin-module-53879.patch Benjamin Dauvergne, 27 mai 2021 14:34
0004-to-fixup-add-test-param-to-data_source.patch (1,25 ko) 0004-to-fixup-add-test-param-to-data_source.patch Benjamin Dauvergne, 27 mai 2021 14:34
0002-add-franceconnect-connector-53879.patch (28,1 ko) 0002-add-franceconnect-connector-53879.patch Benjamin Dauvergne, 27 mai 2021 14:34
0005-to-fixup-fix-callback-template-when-test-mode-is-not.patch (1,91 ko) 0005-to-fixup-fix-callback-template-when-test-mode-is-not.patch Benjamin Dauvergne, 27 mai 2021 14:34
0012-to-fixup-simplify-popup-window-opening.patch (2,9 ko) 0012-to-fixup-simplify-popup-window-opening.patch Benjamin Dauvergne, 01 juin 2021 11:07
0011-to-fixup-fix-template-path.patch (898 octets) 0011-to-fixup-fix-template-path.patch Benjamin Dauvergne, 01 juin 2021 11:07
0009-to-fixup-rename-franceconnect-to-franceconnect-data.patch (5,72 ko) 0009-to-fixup-rename-franceconnect-to-franceconnect-data.patch Benjamin Dauvergne, 01 juin 2021 11:07
0006-to-fixup-renommage-fc_text_template-text_template-et.patch (3,14 ko) 0006-to-fixup-renommage-fc_text_template-text_template-et.patch Benjamin Dauvergne, 01 juin 2021 11:07
0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch (1,2 ko) 0003-to-fixup-add-service_origin-to-data_source-fake-resu.patch Benjamin Dauvergne, 01 juin 2021 11:07
0007-to-fixup-format-birtdate-using-locale-in-text-field.patch (1,99 ko) 0007-to-fixup-format-birtdate-using-locale-in-text-field.patch Benjamin Dauvergne, 01 juin 2021 11:07
0008-to-fixup-change-category-and-verbose_name.patch (1,03 ko) 0008-to-fixup-change-category-and-verbose_name.patch Benjamin Dauvergne, 01 juin 2021 11:07
0001-utils-add-origin-module-53879.patch (2,12 ko) 0001-utils-add-origin-module-53879.patch Benjamin Dauvergne, 01 juin 2021 11:07
0004-to-fixup-add-test-param-to-data_source.patch (1,26 ko) 0004-to-fixup-add-test-param-to-data_source.patch Benjamin Dauvergne, 01 juin 2021 11:07
0002-add-franceconnect-connector-53879.patch (28,1 ko) 0002-add-franceconnect-connector-53879.patch Benjamin Dauvergne, 01 juin 2021 11:07
0010-to-fixup-remove-birthplace-from-text_template.patch (865 octets) 0010-to-fixup-remove-birthplace-from-text_template.patch Benjamin Dauvergne, 01 juin 2021 11:07
0005-to-fixup-fix-callback-template-when-test-mode-is-not.patch (1,91 ko) 0005-to-fixup-fix-callback-template-when-test-mode-is-not.patch Benjamin Dauvergne, 01 juin 2021 11:07

Demandes liées

Lié à Publik - Development #53803: Connecteur "API Impôts Particulier" (POC / V0)Fermé06 mai 202126 juillet 2021

Actions
Lié à Intégrations graphiques Publik - Bug #54003: avoir un template pour récuperer les données du connecteur Impôts ParticulierFermé17 mai 2021

Actions
Dupliqué par Passerelle - Support #53880: devélopper le connecteur "Impôt Particulier"Fermé10 mai 2021

Actions

Révisions associées

Révision 8f697bda (diff)
Ajouté par Benjamin Dauvergne il y a presque 3 ans

utils: add origin module (#53879)

Révision 00e985b8 (diff)
Ajouté par Benjamin Dauvergne il y a presque 3 ans

add franceconnect connector (#53879)

  • follow the OAuth2 danse to get FranceConnect identite_pivot
  • with ?mode=dgfip, also request an access_token to call DGFIP IR
    web-service
  • call the IR web-service with two access tokens : * one from DGFIP * one from FC

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

#2

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

  • Assigné à mis à Benjamin Dauvergne

Je vais faire un peu de scaffolding on verra si je passe la main ensuite.

#3

Mis à jour par Serghei Mihai il y a presque 3 ans

  • Lié à Bug #54003: avoir un template pour récuperer les données du connecteur Impôts Particulier ajouté
#5

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

Template pour w.c.s. à utiliser avec l'extra_class "template-franceconnect" sur un champ Liste en mode autocomplétion et une source de donnée supportant le paramètre id= pointant sur {{ passerelle_url }}/franceconnect/FC/data_source.

#7

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

Deux choses :
  • pas trop d'idée sur ce qui est testable vu que c'est principalement de l'interaction JS entre un front et ça (à la rigueur si on avait un peu d'expérience en test avec un navigateur headless + pytest),
  • il faudrait comme dans authentic2-auth-fc résoudre les codes INSEE pour ne pas dire "né(e) à 75017" (idem pour le pays de naissance), je pense que pour un POC ça reste acceptable.
#8

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

Ajout d'un paramètre ?mode=dgfip à la source de donnée pour configurer le processus au niveau de la définition de la source de donnée dans w.c.s. (pour FC seul ne rien mettre, pour obtenir le revenu fiscal de référence, parts, etc.. rajouter ?mode=dgfip).

#11

Mis à jour par Serghei Mihai il y a presque 3 ans

Benjamin Dauvergne a écrit :

Deux choses :
  • pas trop d'idée sur ce qui est testable vu que c'est principalement de l'interaction JS entre un front et ça (à la rigueur si on avait un peu d'expérience en test avec un navigateur headless + pytest),

Quelques tests sur les appels aux APIs FC et DGFiP suffiront dans un premier temps, IMO.

  • il faudrait comme dans authentic2-auth-fc résoudre les codes INSEE pour ne pas dire "né(e) à 75017" (idem pour le pays de naissance), je pense que pour un POC ça reste acceptable.

On fera cela dans un deuxième temps mais dans ce cas autant retirerons birthplace du template.

Toute la gestion de dual screen et le zoom du navigo ne me semblent pas utiles sur la vue demo.

#12

Mis à jour par Frédéric Péters il y a presque 3 ans

Ce n'est pas un peu danger confusion d'appeler ce connecteur FranceConnect ? (et une erreur de le ranger en "application métier" ?)

#13

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

Frédéric Péters a écrit :

Ce n'est pas un peu danger confusion d'appeler ce connecteur FranceConnect ? (et une erreur de le ranger en "application métier" ?)

L'idée c'est que ça serve deux cas d'usages le besoin d'une identité validée sans création de compte et le besoin d'informations fiscales.

"Données FranceConnect-ées" ça irait mieux ? et franceconnect-data comme slug ?

Pour la catégorie j'ai cette liste :

    category = _("Business Process Connectors")
    category = _('Business Process Connectors')
    category = _('Civil Status Connectors')
    category = _('Data Sources')
    category = _('Geographic information system')
    category = _('Misc')
    category = _('SMS Providers')
    category = _('Stub Connectors')
    category = _('Telephony')
    category = _('Transport')

Misc ou Civil Status Connectors ?

#14

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

  • Statut changé de Solution proposée à En cours

Serghei Mihai a écrit :

Quelques tests sur les appels aux APIs FC et DGFiP suffiront dans un premier temps, IMO.

D'ac.

  • il faudrait comme dans authentic2-auth-fc résoudre les codes INSEE pour ne pas dire "né(e) à 75017" (idem pour le pays de naissance), je pense que pour un POC ça reste acceptable.

On fera cela dans un deuxième temps mais dans ce cas autant retirerons birthplace du template.

Ok.

Toute la gestion de dual screen et le zoom du navigo ne me semblent pas utiles sur la vue demo.

Ok.

#15

Mis à jour par Frédéric Péters il y a presque 3 ans

"Données FranceConnect-ées" ça irait mieux ? et franceconnect-data comme slug ?

Oui ça irait, avec petite hésitation sur la forme FranceConnect-ées, autres possibilités comme "via FranceConnect", "par FranceConnect", ce genre, mais passons.

Misc ou Civil Status Connectors ?

Ce serait choquant de mettre ça sous "source de données" ?

#16

Mis à jour par Serghei Mihai il y a presque 3 ans

Frédéric Péters a écrit :

Ce serait choquant de mettre ça sous "source de données" ?

Je pense aussi que ça pourrait aller dans "Sources de données"

#17

Mis à jour par Serghei Mihai il y a presque 3 ans

J'ai dit à Benjamin par jabber: je pense qu'il serait intéressant d'avoir les données de la DGFiP dans le contexte du rendu du template affiché dans text. Cela permet de construire une valeur du genre "votre revenu fiscal est de xxx€".

#18

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

  • renommage fc_text_template en text_template
  • passage au template des données fc dans la clé "fc" et des éventuelles données "dgfip" dans la clé dgfip
  • retrait du code insee comme lieu de naissance dans le template par défaut
  • formattage de la date de naissance dans le template
  • changement de catégorie
  • changement du nom du connecteur
  • changement du slug du connecteur
#19

Mis à jour par Serghei Mihai il y a presque 3 ans

Il reste encore à virer birthplace de text_template et la gestion du dual-screen dans demo.html.
Et après squash & go.

#20

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

voili voilou, je dois encore ajouter deux tests factices sur les appels à FC et la DGFIP.

#21

Mis à jour par Serghei Mihai il y a presque 3 ans

  • Statut changé de Solution proposée à Solution validée

Go.

#22

Mis à jour par Benjamin Dauvergne il y a presque 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit c319f3aa703fb32c930b54ba033c5527969f5229
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue May 11 20:35:22 2021 +0200

    add franceconnect connector (#53879)

    * follow the OAuth2 danse to get FranceConnect identite_pivot
    * with ?mode=dgfip, also request an access_token to call DGFIP IR
      web-service
    * call the IR web-service with two access tokens :
     * one from DGFIP
     * one from FC

commit c0b8b0fc69f560867b452e0c9ec424052d207239
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Fri May 14 09:15:02 2021 +0200

    utils: add origin module (#53879)
#23

Mis à jour par Frédéric Péters il y a presque 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#24

Mis à jour par Brice Mallet il y a plus de 2 ans

  • Dupliqué par Support #53880: devélopper le connecteur "Impôt Particulier" ajouté

Formats disponibles : Atom PDF