From 9e4612ef691b4d02f5567d0f6eb60d0b4f869b88 Mon Sep 17 00:00:00 2001
From: Sivert Kronen Hatteberg <skh@uio.no>
Date: Mon, 15 Nov 2021 11:55:13 +0100
Subject: [PATCH] We cannot user null values for name and email with the auth
 user model

---
 gregui/authentication/auth_backends.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gregui/authentication/auth_backends.py b/gregui/authentication/auth_backends.py
index 7243715b..4c2dfe99 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)
+            if userinfo["auth_type"] == "feide":
+                extended_userinfo = self.get_extended_userinfo(access_token)
 
-            logger.info(extended_userinfo)
+                logger.info(extended_userinfo)
 
             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(
-- 
GitLab