diff --git a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php index 6c7b2e7d5f1079b2515a5a68e227e55a258714ef..17c789d5873a858b40b254ae4615ea8345e134eb 100644 --- a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php +++ b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php @@ -45,10 +45,8 @@ class IFrameLogoutHandler implements LogoutHandlerInterface * @param string|null $assocId The SP we are logging out from. * @return void */ - public function startLogout(array &$state, $assocId) + public function startLogout(array &$state, ?string $assocId) : void { - Assert::nullOrString($assocId); - $associations = $this->idp->getAssociations(); if (count($associations) === 0) { @@ -95,10 +93,8 @@ class IFrameLogoutHandler implements LogoutHandlerInterface * @param \SimpleSAML\Error\Exception|null $error The error that occurred during session termination (if any). * @return void */ - public function onResponse($assocId, $relayState, Error\Exception $error = null) + public function onResponse(string $assocId, ?string $relayState, Error\Exception $error = null): void { - Assert::string($assocId); - $this->idp->terminateAssociation($assocId); $config = Configuration::getInstance(); diff --git a/lib/SimpleSAML/IdP/LogoutHandlerInterface.php b/lib/SimpleSAML/IdP/LogoutHandlerInterface.php index c072456c9b3ccebc5551161e7a3b7a904f05eb14..3708d6924f87374076a9beaf078ec95f231454e1 100644 --- a/lib/SimpleSAML/IdP/LogoutHandlerInterface.php +++ b/lib/SimpleSAML/IdP/LogoutHandlerInterface.php @@ -32,7 +32,7 @@ interface LogoutHandlerInterface * @param string $assocId The association that started the logout. * @return void */ - public function startLogout(array &$state, $assocId); + public function startLogout(array &$state, string $assocId): void; /** @@ -45,5 +45,5 @@ interface LogoutHandlerInterface * @param \SimpleSAML\Error\Exception|null $error The error that occurred during session termination (if any). * @return void */ - public function onResponse($assocId, $relayState, Error\Exception $error = null); + public function onResponse(string $assocId, ?string $relayState, Error\Exception $error = null): void; } diff --git a/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php b/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php index 88543949002a0d2c9e1de3371617d910cda3d35f..9c9705ff794e0e5ed72ee8d1ba3cb3c36ad7f407 100644 --- a/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php +++ b/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php @@ -46,7 +46,7 @@ class TraditionalLogoutHandler implements LogoutHandlerInterface * @param array &$state The logout state. * @return void */ - private function logoutNextSP(array &$state) + private function logoutNextSP(array &$state): void { $association = array_pop($state['core:LogoutTraditional:Remaining']); if ($association === null) { @@ -83,7 +83,7 @@ class TraditionalLogoutHandler implements LogoutHandlerInterface * @param string $assocId The association that started the logout. * @return void */ - public function startLogout(array &$state, $assocId) + public function startLogout(array &$state, string $assocId): void { $state['core:LogoutTraditional:Remaining'] = $this->idp->getAssociations(); @@ -103,11 +103,8 @@ class TraditionalLogoutHandler implements LogoutHandlerInterface * * @throws \SimpleSAML\Error\Exception If the RelayState was lost during logout. */ - public function onResponse($assocId, $relayState, Error\Exception $error = null) + public function onResponse(string $assocId, ?string $relayState, Error\Exception $error = null): void { - Assert::string($assocId); - Assert::nullOrString($relayState); - if ($relayState === null) { throw new Error\Exception('RelayState lost during logout.'); }