From db6ed6ed207bd8648456fcd2d8bb9b2fa94b1b3b Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Thu, 15 Oct 2020 10:44:05 +0200 Subject: [PATCH 2/2] auth_fc: update first_name and last_name only when required (#47566) --- src/authentic2_auth_fc/backends.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/authentic2_auth_fc/backends.py b/src/authentic2_auth_fc/backends.py index c48692d1..0f870325 100644 --- a/src/authentic2_auth_fc/backends.py +++ b/src/authentic2_auth_fc/backends.py @@ -70,10 +70,16 @@ class FcBackend(ModelBackend): if not user: return None - logger.debug(u'updated (given_name : %s - family_name : %s)', user_info['given_name'], - user_info['family_name']) - user.first_name = user_info['given_name'] - user.last_name = user_info['family_name'] + # always handle given_name and family_name + updated = [] + if user_info.get('given_name') and user.first_name != user_info['given_name']: + user.first_name = user_info['given_name'] + updated.append('given name: "%s"' % user_info['given_name']) + if user_info.get('family_name') and user.first_name != user_info['family_name']: + user.last_name = user_info['family_name'] + updated.append('family name: "%s"' % user_info['family_name']) + if updated: + logger.debug('updated (%s)', ' - '.join(updated)) utils.apply_user_info_mappings(user, user_info) return user -- 2.28.0