79 $this->signatureValidator,
81 $identityProviderConfiguration,
82 $serviceProviderConfiguration,
113 if (!
$response->isMessageConstructedWithSignature()) {
115 'SAMLResponse with id "%s" was not signed at root level, not attempting to verify the signature of the'
124 'Attempting to verify the signature of SAMLResponse with id "%s"',
128 $this->responseIsSigned =
true;
130 if (!$this->signatureValidator->hasValidSignature(
$response, $identityProviderConfiguration)) {
147 if (!$this->responseIsSigned) {
149 if (!$assertion->getWasSignedAtConstruction()) {
151 'Both the response and the assertion it contains are not signed.'
157 return $this->assertionProcessor->processAssertions(
$assertions);
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
Simple Builder that allows to build a new Assertion Processor.
static build(LoggerInterface $logger, Validator $signatureValidator, Destination $currentDestination, IdentityProvider $identityProvider, ServiceProvider $serviceProvider, Response $response)
Value Object representing the current destination.
Basic configuration wrapper.
Basic Configuration Wrapper.
Named exception to indicate that the preconditions for processing the SAML response have not been met...
static createFromValidationResult(Result $result)
@SuppressWarnings(PHPMD.CouplingBetweenObjects) - due to specific exceptions
__construct(LoggerInterface $logger)
verifySignature(Response $response, IdentityProvider $identityProviderConfiguration)
enforcePreconditions(Response $response)
Checks the preconditions that must be valid in order for the response to be processed.
processAssertions(Response $response)
process(ServiceProvider $serviceProviderConfiguration, IdentityProvider $identityProviderConfiguration, Destination $currentDestination, Response $response)
Validates the preconditions that have to be met prior to processing of the response.
$assertions
The assertions in this response.
Describes a logger instance.