providers/saml: fix error when propertymapping returns invalid data in list

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2021-12-05 10:31:16 +01:00
parent 6c23fc4b2b
commit 680ef641fb
1 changed files with 4 additions and 2 deletions

View File

@ -10,6 +10,7 @@ from structlog.stdlib import get_logger
from authentik.core.exceptions import PropertyMappingExpressionException from authentik.core.exceptions import PropertyMappingExpressionException
from authentik.events.models import Event, EventAction from authentik.events.models import Event, EventAction
from authentik.lib.utils.errors import exception_to_string
from authentik.lib.utils.time import timedelta_from_string from authentik.lib.utils.time import timedelta_from_string
from authentik.providers.saml.models import SAMLPropertyMapping, SAMLProvider from authentik.providers.saml.models import SAMLPropertyMapping, SAMLProvider
from authentik.providers.saml.processors.request_parser import AuthNRequest from authentik.providers.saml.processors.request_parser import AuthNRequest
@ -101,10 +102,11 @@ class AssertionProcessor:
attribute_statement.append(attribute) attribute_statement.append(attribute)
except PropertyMappingExpressionException as exc: except (PropertyMappingExpressionException, ValueError) as exc:
# Value error can be raised when assigning invalid data to an attribute
Event.new( Event.new(
EventAction.CONFIGURATION_ERROR, EventAction.CONFIGURATION_ERROR,
message=f"Failed to evaluate property-mapping: {str(exc)}", message=f"Failed to evaluate property-mapping: {exception_to_string(exc)}",
mapping=mapping, mapping=mapping,
).from_http(self.http_request) ).from_http(self.http_request)
continue continue