Skip to content

Commit 32aff77

Browse files
author
Paul Schilling
committed
[#2932] Update eHerkenning SAML flow: get & store vestigingsnummer
1 parent 233959b commit 32aff77

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/eherkenning/backends.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from digid_eherkenning.exceptions import eHerkenningError
55
from digid_eherkenning.utils import get_client_ip
66

7+
from open_inwoner.kvk.branches import KVK_BRANCH_SESSION_VARIABLE
8+
79
UserModel = get_user_model()
810

911

@@ -12,7 +14,11 @@ class eHerkenningBackend(_eHerkenningBackend):
1214
Custom backend to identify users based on the KvK number instead of RSIN
1315
"""
1416

15-
# TODO: get vestigingsnummer from saml_response
17+
def get_company_branch_number(self, attributes):
18+
company_branch_number = attributes.get(
19+
"urn:etoegang:1.9:ServiceRestriction:Vestigingsnr", None
20+
)
21+
return company_branch_number
1622

1723
def get_or_create_user(self, request, saml_response, saml_attributes):
1824
kvk = self.get_kvk_number(saml_attributes)
@@ -28,6 +34,10 @@ def get_or_create_user(self, request, saml_response, saml_attributes):
2834
user = UserModel.eherkenning_objects.eherkenning_create(kvk)
2935
created = True
3036

37+
if vestigingsnummer := self.get_company_branch_number(saml_attributes):
38+
self.request.session[KVK_BRANCH_SESSION_VARIABLE] = vestigingsnummer
39+
self.request.session.save()
40+
3141
success_message = self.error_messages["login_success"] % {
3242
"user": str(user),
3343
"user_info": " (new account)" if created else "",

src/open_inwoner/accounts/backends.py

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from django.contrib.auth.backends import ModelBackend
77
from django.contrib.auth.hashers import check_password
88
from django.contrib.auth.models import AbstractUser
9-
from django.core.exceptions import SuspiciousOperation
109
from django.urls import reverse, reverse_lazy
1110

1211
from axes.backends import AxesBackend

0 commit comments

Comments
 (0)