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.');
         }