From 456796b024016e53add60120f7e62b1956e03eda Mon Sep 17 00:00:00 2001 From: Paul Marillonnet Date: Fri, 15 Apr 2022 21:29:24 +0200 Subject: [PATCH] apps: add a 'fc-create' hook performing attribute verification (#64280) --- src/authentic2_cut/apps.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/authentic2_cut/apps.py b/src/authentic2_cut/apps.py index ada2325..fdb5a62 100644 --- a/src/authentic2_cut/apps.py +++ b/src/authentic2_cut/apps.py @@ -621,6 +621,16 @@ class AppConfig(django.apps.AppConfig): }, ) + def perform_fc_validation(self, user, request): + user.attributes.validated = True + user.attributes.validation_context = 'FC' + user.attributes.validation_date = now().date() + partner = request.session.get('service_slug') + if hasattr(request, 'partner'): + partner = (request.partner and request.partner.get('ou_slug')) or partner + if partner: + user.attributes.validation_partner = partner + @property def redis_client(self): from django.core import cache @@ -760,14 +770,11 @@ class AppConfig(django.apps.AppConfig): def cut_event_fc_link(self, user, request, **kwargs): self.log_action(user, 'liaison avec FranceConnect') - user.attributes.validated = True - user.attributes.validation_context = 'FC' - user.attributes.validation_date = now().date() - partner = request.session.get('service_slug') - if hasattr(request, 'partner'): - partner = (request.partner and request.partner.get('ou_slug')) or partner - if partner: - user.attributes.validation_partner = partner + self.perform_fc_validation(user, request) + + def cut_event_fc_create(self, user, request, **kwargs): + self.log_action(user, 'création de compte sur retour de connexion FranceConnect') + self.perform_fc_validation(user, request) def cut_event_fc_unlink(self, user, **kwargs): self.log_action(user, 'déliaison de FranceConnect')