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é.
Files
Related issues
Associated revisions
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)
History
Updated by Paul Marillonnet over 2 years ago
- Related to Development #65574: déverrouiller les attributs quand on se délie de FranceConnect added
Updated by Thomas Noël over 2 years ago
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.
Updated by Paul Marillonnet over 2 years ago
- Status changed from Nouveau to En cours
- Assignee set to 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.
Updated by Paul Marillonnet over 2 years ago
Et commencé à travailler dans la branches les parties respectives pour auth_fc et api_views (auth_oidc et auth_saml à venir).
Updated by Paul Marillonnet over 2 years ago
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.
Updated by Paul Marillonnet over 2 years ago
- File 0003-api_views-set-api-as-verification-source-for-custom-.patch 0003-api_views-set-api-as-verification-source-for-custom-.patch added
- File 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch added
- File 0001-manage-custom-attribute-s-verification-sources-65612.patch 0001-manage-custom-attribute-s-verification-sources-65612.patch added
- Status changed from En cours to Solution proposée
- Patch proposed changed from No to Yes
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.
Updated by Paul Marillonnet over 2 years ago
(pylint pas content dans le dernier build Jenkins au moment où j’écris ces lignes. Trois fois rien, corrigé dans la branche.)
Updated by Paul Marillonnet over 2 years ago
- Related to Development #66053: csv_import: stocker une information de source de vérification des attributs de l’usager added
Updated by Pierre Ducroquet about 2 years ago
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.
Updated by Paul Marillonnet about 2 years ago
- Status changed from Solution proposée to En cours
Ok oui, bout de code à revoir en effet.
Updated by Paul Marillonnet almost 2 years ago
- File 0001-manage-custom-attribute-s-verification-sources-65612.patch 0001-manage-custom-attribute-s-verification-sources-65612.patch added
- File 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch 0002-auth_fc-set-fc-as-verification-source-for-custom-att.patch added
- File 0003-api_views-set-api-as-verification-source-for-custom-.patch 0003-api_views-set-api-as-verification-source-for-custom-.patch added
- Status changed from En cours to 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.
Updated by Benjamin Dauvergne almost 2 years ago
- Status changed from Solution proposée to Solution validée
Updated by Paul Marillonnet almost 2 years ago
- Status changed from Solution validée to 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)
Updated by Transition automatique over 1 year ago
- Status changed from Résolu (à déployer) to Solution déployée
manage custom attribute's verification sources (#65612)