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"]: