diff --git a/src/onelogin/saml2/authn_request.py b/src/onelogin/saml2/authn_request.py
index 42585e8b..d2ed96d7 100644
--- a/src/onelogin/saml2/authn_request.py
+++ b/src/onelogin/saml2/authn_request.py
@@ -97,21 +97,23 @@ def __init__(self, settings, force_authn=False, is_passive=False, set_nameid_pol
)
requested_authn_context_str = ""
- if security["requestedAuthnContext"] is not False:
+ if not security["requestedAuthnContext"]:
authn_comparison = security["requestedAuthnContextComparison"]
- if security["requestedAuthnContext"] is True:
+ if isinstance(security["requestedAuthnContext"], list):
+ requested_authn_context_str = ' ' % authn_comparison
+ for authn_context in security["requestedAuthnContext"]:
+ requested_authn_context_str += "%s" % authn_context
+ requested_authn_context_str += " "
+
+ else:
requested_authn_context_str = (
"""
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
"""
% authn_comparison
)
- else:
- requested_authn_context_str = ' ' % authn_comparison
- for authn_context in security["requestedAuthnContext"]:
- requested_authn_context_str += "%s" % authn_context
- requested_authn_context_str += " "
+
attr_consuming_service_str = ""
if "attributeConsumingService" in sp_data and sp_data["attributeConsumingService"]: