diff --git a/gregui/authentication/auth_backends.py b/gregui/authentication/auth_backends.py index 7243715ba998ae99a9a048cffb19b7ee30ba1dac..5240629d54bed79c53507b15f15750602d99923b 100644 --- a/gregui/authentication/auth_backends.py +++ b/gregui/authentication/auth_backends.py @@ -86,9 +86,10 @@ def extract_userinfo(claims: dict) -> dict: if claims["name"] == "IDporten user": # IDPorten login auth_type = "idporten" - first_name = None - last_name = None - email = None + first_name = "" + last_name = "" + email = "" + else: # Feide login auth_type = "feide" @@ -237,9 +238,10 @@ class GregOIDCBackend(ValidatingOIDCBackend): self.get_userinfo(access_token, id_token, payload) ) - extended_userinfo = self.get_extended_userinfo(access_token) - - logger.info(extended_userinfo) + if userinfo["auth_type"] == "feide": + extended_userinfo = self.get_extended_userinfo(access_token) + if "norEduPersonNIN" in extended_userinfo: + userinfo["userid_nin"] = extended_userinfo["norEduPersonNIN"] self._get_or_create_greg_user_profile(userinfo, user) return user @@ -618,7 +620,7 @@ class GregOIDCBackend(ValidatingOIDCBackend): user=user, person=person, sponsor=sponsor, - userid_feide=userinfo.get("userid_feide", None), + userid_feide=userinfo.get("userid_feide", ""), ) user_profile.save() logger.info(