Skip to content

Commit 64b2aad

Browse files
committed
Process nested StatusCode
1 parent be06650 commit 64b2aad

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/onelogin/saml2/authn_request.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ def __init__(self, settings):
5959
provider_name_str = 'ProviderName="%s"' % organization_data[lang]['displayname']
6060

6161
requested_authn_context_str = ''
62-
if 'requestedAuthnContext' in security.keys() and security['requestedAuthnContext'] != False:
63-
if security['requestedAuthnContext'] == True:
62+
if 'requestedAuthnContext' in security.keys() and security['requestedAuthnContext'] is not False:
63+
if security['requestedAuthnContext'] is True:
6464
requested_authn_context_str = """ <samlp:RequestedAuthnContext Comparison="exact">
6565
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
6666
</samlp:RequestedAuthnContext>"""

src/onelogin/saml2/utils.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,11 @@ def get_status(dom):
684684

685685
message_entry = OneLogin_Saml2_Utils.query(dom, '/samlp:Response/samlp:Status/samlp:StatusMessage', status_entry[0])
686686
if len(message_entry) == 0:
687-
status['msg'] = ''
687+
subcode_entry = OneLogin_Saml2_Utils.query(dom, '/samlp:Response/samlp:Status/samlp:StatusCode/samlp:StatusCode', status_entry[0])
688+
if len(subcode_entry) > 0:
689+
status['msg'] = subcode_entry[0].values()[0]
690+
else:
691+
status['msg'] = ''
688692
else:
689693
status['msg'] = message_entry[0].text
690694

0 commit comments

Comments
 (0)