Skip to content
Snippets Groups Projects
Commit 8c380853 authored by Sivert Kronen Hatteberg's avatar Sivert Kronen Hatteberg
Browse files

Fix oidc auth, remove email from person object

parent 7faf5f73
No related branches found
No related tags found
No related merge requests found
Pipeline #96847 canceled
...@@ -205,7 +205,6 @@ class GregOIDCBackend(ValidatingOIDCBackend): ...@@ -205,7 +205,6 @@ class GregOIDCBackend(ValidatingOIDCBackend):
person, _ = Person.objects.update_or_create( person, _ = Person.objects.update_or_create(
first_name=userinfo["first_name"], first_name=userinfo["first_name"],
last_name=userinfo["last_name"], last_name=userinfo["last_name"],
email=userinfo["email"],
) )
person.save() person.save()
return person return person
...@@ -242,6 +241,17 @@ class GregOIDCBackend(ValidatingOIDCBackend): ...@@ -242,6 +241,17 @@ class GregOIDCBackend(ValidatingOIDCBackend):
) )
identity.save() identity.save()
try:
email_identity = Identity.objects.get(
type="private_email", value=userinfo["email"]
)
except Identity.DoesNotExist:
# Add email if missing
email_identity = Identity(
type="private_email", value=userinfo["email"], person=person
)
email_identity.save()
user_profile = GregUserProfile( user_profile = GregUserProfile(
user=user, user=user,
person=person, person=person,
......
...@@ -76,14 +76,13 @@ def data(): ...@@ -76,14 +76,13 @@ def data():
"person1": { "person1": {
"type": "feide_id", "type": "feide_id",
"value": "foo@example.com", "value": "foo@example.com",
"person": {"email": "foo@example.com"}, "person": {"last_name": "Baresen"},
}, },
}, },
"Person": { "Person": {
"person1": { "person1": {
"first_name": "Foo", "first_name": "Foo",
"last_name": "Baresen", "last_name": "Baresen",
"email": "foo@example.com",
}, },
}, },
"Sponsor": { "Sponsor": {
...@@ -231,6 +230,7 @@ def invitation_link_expired(invitation, invitation_expired_date) -> InvitationLi ...@@ -231,6 +230,7 @@ def invitation_link_expired(invitation, invitation_expired_date) -> InvitationLi
return InvitationLink.objects.get(id=il.id) return InvitationLink.objects.get(id=il.id)
@pytest.fixture
def greg_users(data): def greg_users(data):
return create_objects(get_user_model(), data["User"]) return create_objects(get_user_model(), data["User"])
...@@ -257,4 +257,3 @@ def log_in(client, greg_users): ...@@ -257,4 +257,3 @@ def log_in(client, greg_users):
return client return client
return _log_in return _log_in
...@@ -60,7 +60,7 @@ def test_create_user(claims): ...@@ -60,7 +60,7 @@ def test_create_user(claims):
person = userProfile.person person = userProfile.person
assert person.first_name == user.first_name assert person.first_name == user.first_name
assert person.last_name == user.last_name assert person.last_name == user.last_name
assert person.email == user.email assert person.identities.filter(type="private_email").first().value == user.email
ids = Identity.objects.get(person=person, type="feide_id") ids = Identity.objects.get(person=person, type="feide_id")
assert ids.value == "frank_foreleser@spusers.feide.no" assert ids.value == "frank_foreleser@spusers.feide.no"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment