Development #65612
stocker l’origine (ou les multiples origines) ayant mené à la vérification d’un attribut donné pour un usager
0%
Description
L’idée étant que lorsque la source de vérification n’est plus pertinente (notamment lorsque l’usager demande la dé-liaison avec la source), cette information puisse être répercutée dans l’état de vérification des attributs de l’usager. Si, pour un attribut vérifié de l’usager, toutes les origines de vérification ont été retirées, alors l’attribut redevient non vérifié.
Fichiers
Demandes liées
Révisions associées
auth_fc: set fc as verification source for custom attributes (#65612)
api_views: set api as verification source for custom attributes (#65612)
translation update (#65612)
Historique
Mis à jour par Paul Marillonnet il y a presque 2 ans
- Lié à Development #65574: déverrouiller les attributs quand on se délie de FranceConnect ajouté
Mis à jour par Thomas Noël il y a presque 2 ans
Note au passage, si possible horodater l'affaire, typiquement retenir la date de la dernière validation, éventuellement la date de la dernière. Dans l'idée que ça pourra être utile un jour de voir qu'une validation date de plus de 2 ans.
Mis à jour par Paul Marillonnet il y a presque 2 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Paul Marillonnet
Thomas Noël a écrit :
Note au passage, si possible horodater l'affaire, typiquement retenir la date de la dernière validation, éventuellement la date de la dernière. Dans l'idée que ça pourra être utile un jour de voir qu'une validation date de plus de 2 ans.
Ah oui ok j’avais pas prévu ça, les cartes sont rebattues :)
Suggestion retenue, je corrige dans la branche.
Mis à jour par Paul Marillonnet il y a presque 2 ans
Et commencé à travailler dans la branches les parties respectives pour auth_fc et api_views (auth_oidc et auth_saml à venir).
Mis à jour par Paul Marillonnet il y a presque 2 ans
Je lâche un peu pour l’instant, une régression me donne du fil à retordre : le sérialiseur de l’api /users/
ne gère plus les attributs étendus booléens, pour un patche qui n’a en apparence rien à voir. Je n’arrive pas à trouver l’origine de cette régression malgré des breakpoints posés dans tous les coins, je reprendrai à tête reposée.
Mis à jour par Paul Marillonnet il y a presque 2 ans
- Fichier 0003-api_views-set-api-as-verification-source-for-custom-.patch 0003-api_views-set-api-as-verification-source-for-custom-.patch ajouté
- Fichier 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch ajouté
- Fichier 0001-manage-custom-attribute-s-verification-sources-65612.patch 0001-manage-custom-attribute-s-verification-sources-65612.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Voilà la gestion du stockage des sources de vérification, avec son application dans le backend fc et dans notre implémentation du client oidc.
Un user.refresh_from_db()
nécéssaire dans 0003, sinon je n’accède pas aux versions à jour de user.attributes
et user.verified_attributes
, bien étrange.
Il y a sans doute d’autres endroits dans le code où ça pourrait s’appliquer (auth_saml, import csv), je regarde et fais des tickets à part au besoin.
Mis à jour par Paul Marillonnet il y a presque 2 ans
(pylint pas content dans le dernier build Jenkins au moment où j’écris ces lignes. Trois fois rien, corrigé dans la branche.)
Mis à jour par Paul Marillonnet il y a presque 2 ans
- Lié à Development #66053: csv_import: stocker une information de source de vérification des attributs de l’usager ajouté
Mis à jour par Pierre Ducroquet il y a presque 2 ans
Globalement pas grand chose à signaler, juste une interrogation sur ce bloc:
with transaction.atomic(): try: av = AttributeValue.objects.with_owner(owner).get(attribute=attribute, content=value) except AttributeValue.DoesNotExist: # caller should have checked that the attribute value is defined, silently failing # to add source. pass else: sources = av.verification_sources or [] if source not in sources: sources.append(source) av.verification_sources = sources av.last_verified_on = timezone.now() av.save()
J'ai du mal à voir l'intérêt du transaction.atomic() ici. Le select est fait sans modificateur de verrouillage, du coup il n'y aura pas grand chose d'atomique. Rien n'interdit à un autre utilisateur de la DB de supprimer l'enregistrement par exemple entre le .get() et le .save(). Soit l'atomic() ne sert pas, soit le get() est incomplet.
Mis à jour par Paul Marillonnet il y a presque 2 ans
- Statut changé de Solution proposée à En cours
Ok oui, bout de code à revoir en effet.
Mis à jour par Paul Marillonnet il y a plus d'un an
- Fichier 0001-manage-custom-attribute-s-verification-sources-65612.patch 0001-manage-custom-attribute-s-verification-sources-65612.patch ajouté
- Fichier 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch ajouté
- Fichier 0003-api_views-set-api-as-verification-source-for-custom-.patch 0003-api_views-set-api-as-verification-source-for-custom-.patch ajouté
- Statut changé de En cours à Solution proposée
J’avais complètement oublié que j’avais entamé ce travail dans a2, et c’est une remarque sur les tickets a2 validés et pas poussés (en l’occurrence #66054 qui se base sur celui-ci) qui m’a rafraîchi la mémoire. C’est rebasé, et la remarque sur le modificateur faite par Pierre est prise en compte, dans 0001.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Mis à jour par Paul Marillonnet il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit bf85976e04774ea230980c9dd4f419eca04e47e2 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Mon Dec 12 09:28:43 2022 +0100 translation update (#65612) commit 8f17030eab049cdeb0dfed896ec9f0381fd01cdc Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Jun 8 10:29:21 2022 +0200 api_views: set api as verification source for custom attributes (#65612) commit 5cd75e69e56319734ee146663a32c3fc32eb5948 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Mon May 30 14:39:20 2022 +0200 auth_fc: set fc as verification source for custom attributes (#65612) commit 9c340c8a5fe3c5af926805cbfd651137c668a960 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Tue May 24 11:58:10 2022 +0200 manage custom attribute's verification sources (#65612)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
manage custom attribute's verification sources (#65612)