From 36b346662c23dbf84bacd94812343a5c82d0d1bc Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 3 Aug 2021 22:40:13 +0200 Subject: [PATCH] providers/saml: add WantAssertionsSigned Signed-off-by: Jens Langhammer --- authentik/providers/saml/processors/metadata_parser.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/authentik/providers/saml/processors/metadata_parser.py b/authentik/providers/saml/processors/metadata_parser.py index cd6068d91..938127111 100644 --- a/authentik/providers/saml/processors/metadata_parser.py +++ b/authentik/providers/saml/processors/metadata_parser.py @@ -124,8 +124,13 @@ class ServiceProviderMetadataParser: # For now we'll only look at the first descriptor. # Even if multiple descriptors exist, we can only configure one descriptor = sp_sso_descriptors[0] - auth_n_request_signed = descriptor.attrib["AuthnRequestsSigned"].lower() == "true" - assertion_signed = descriptor.attrib["WantAssertionsSigned"].lower() == "true" + auth_n_request_signed = False + if "AuthnRequestsSigned" in descriptor.attrib: + auth_n_request_signed = descriptor.attrib["AuthnRequestsSigned"].lower() == "true" + + assertion_signed = False + if "WantAssertionsSigned" in descriptor.attrib: + assertion_signed = descriptor.attrib["WantAssertionsSigned"].lower() == "true" acs_services = descriptor.findall(f"{{{NS_SAML_METADATA}}}AssertionConsumerService") if len(acs_services) < 1: