account for itsme maybe returning empty SAML attributes (#45925)
This commit is contained in:
parent
ab45daab71
commit
08412e9e86
|
@ -167,35 +167,37 @@ class AuthenticAdapter(DefaultAdapter):
|
||||||
user.is_active = False
|
user.is_active = False
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
nrn = saml_attributes['egovNRN'][0]
|
nrn = None
|
||||||
for attr_name in ('niss', 'nrn'):
|
if saml_attributes.get('egovNRN'):
|
||||||
try:
|
nrn = saml_attributes['egovNRN'][0]
|
||||||
Attribute.objects.get(name=attr_name).set_value(user, nrn,
|
for attr_name in ('niss', 'nrn'):
|
||||||
verified=True)
|
try:
|
||||||
except Attribute.DoesNotExist:
|
Attribute.objects.get(name=attr_name).set_value(user, nrn,
|
||||||
pass
|
verified=True)
|
||||||
if nrn[:6] == '0000001': # unknown date
|
except Attribute.DoesNotExist:
|
||||||
birthdate = ''
|
pass
|
||||||
else:
|
if nrn[:6] == '0000001': # unknown date
|
||||||
if check_nrn(nrn):
|
|
||||||
birthdate = '%s/%s/19%s' % (nrn[4:6], nrn[2:4], nrn[:2])
|
|
||||||
elif check_nrn_y2k(nrn):
|
|
||||||
birthdate = '%s/%s/20%s' % (nrn[4:6], nrn[2:4], nrn[:2])
|
|
||||||
else:
|
|
||||||
birthdate = ''
|
birthdate = ''
|
||||||
try:
|
else:
|
||||||
Attribute.objects.get(name='birthdate').set_value(user, birthdate,
|
if check_nrn(nrn):
|
||||||
|
birthdate = '%s/%s/19%s' % (nrn[4:6], nrn[2:4], nrn[:2])
|
||||||
|
elif check_nrn_y2k(nrn):
|
||||||
|
birthdate = '%s/%s/20%s' % (nrn[4:6], nrn[2:4], nrn[:2])
|
||||||
|
else:
|
||||||
|
birthdate = ''
|
||||||
|
try:
|
||||||
|
Attribute.objects.get(name='birthdate').set_value(user, birthdate,
|
||||||
|
verified=True)
|
||||||
|
except AttributeError: # native authentic date field
|
||||||
|
birthdate = datetime.datetime.strptime(birthdate, '%d/%m/%Y').date()
|
||||||
|
Attribute.objects.get(name='birthdate').set_value(user, birthdate,
|
||||||
|
verified=True)
|
||||||
|
if int(nrn[6:9]) % 2:
|
||||||
|
title = 'Monsieur'
|
||||||
|
else:
|
||||||
|
title = 'Madame'
|
||||||
|
Attribute.objects.get(name='title').set_value(user, title,
|
||||||
verified=True)
|
verified=True)
|
||||||
except AttributeError: # native authentic date field
|
|
||||||
birthdate = datetime.datetime.strptime(birthdate, '%d/%m/%Y').date()
|
|
||||||
Attribute.objects.get(name='birthdate').set_value(user, birthdate,
|
|
||||||
verified=True)
|
|
||||||
if int(nrn[6:9]) % 2:
|
|
||||||
title = 'Monsieur'
|
|
||||||
else:
|
|
||||||
title = 'Madame'
|
|
||||||
Attribute.objects.get(name='title').set_value(user, title,
|
|
||||||
verified=True)
|
|
||||||
|
|
||||||
if saml_attributes.get('givenName'):
|
if saml_attributes.get('givenName'):
|
||||||
Attribute.objects.get(name='first_name').set_value(user, saml_attributes['givenName'][0], verified=True)
|
Attribute.objects.get(name='first_name').set_value(user, saml_attributes['givenName'][0], verified=True)
|
||||||
|
|
Loading…
Reference in New Issue