mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-16 01:27:03 +02:00
updated logic in oidc backend authenticate to not override with blank first_name/last_name
This commit is contained in:
parent
270e910520
commit
fd19726a30
2 changed files with 14 additions and 5 deletions
|
@ -46,8 +46,19 @@ class OpenIdConnectBackend(ModelBackend):
|
||||||
# defaults _will_ be updated, these are not fallbacks
|
# defaults _will_ be updated, these are not fallbacks
|
||||||
"defaults": openid_data,
|
"defaults": openid_data,
|
||||||
}
|
}
|
||||||
user, created = UserModel.objects.update_or_create(**args)
|
|
||||||
if created:
|
user, created = UserModel.objects.get_or_create(**args)
|
||||||
|
|
||||||
|
if not created:
|
||||||
|
# User already exists, update other fields without overwriting first_name and last_name
|
||||||
|
# overwrite first_name and last_name if not empty string
|
||||||
|
for key, value in args["defaults"].items():
|
||||||
|
# Check if the key is not first_name or last_name or value is not empty string
|
||||||
|
if key not in ['first_name', 'last_name'] or value != "":
|
||||||
|
setattr(user, key, value)
|
||||||
|
user.save()
|
||||||
|
else:
|
||||||
|
# If user is created, configure the user
|
||||||
user = self.configure_user(user, **kwargs)
|
user = self.configure_user(user, **kwargs)
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -83,9 +83,7 @@ def login_callback(request):
|
||||||
user_in_db = User.objects.get(username=userinfo["sub"])
|
user_in_db = User.objects.get(username=userinfo["sub"])
|
||||||
|
|
||||||
if user_in_db:
|
if user_in_db:
|
||||||
logger.info(f"This user exists in the DB (before authenticate): {user_in_db.first_name}")
|
logger.info(f"This user exists in the DB (before authenticate): {user_in_db.first_name} {user_in_db.last_name}")
|
||||||
userinfo["given_name"] = user_in_db.first_name
|
|
||||||
userinfo["family_name"] = user_in_db.last_name
|
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue