diff --git a/src/network/mcpe/JwtException.php b/src/network/mcpe/JwtException.php new file mode 100644 index 000000000..14a3c21a2 --- /dev/null +++ b/src/network/mcpe/JwtException.php @@ -0,0 +1,28 @@ +getMessage(), 0, $e); } @@ -134,7 +135,7 @@ class ProcessLoginTask extends AsyncTask{ if(!JwtUtils::verify($jwt, $signingKey)){ throw new VerifyLoginException("%pocketmine.disconnect.invalidSession.badSignature"); } - }catch(\UnexpectedValueException $e){ + }catch(JwtException $e){ throw new VerifyLoginException($e->getMessage(), 0, $e); } diff --git a/src/network/mcpe/protocol/LoginPacket.php b/src/network/mcpe/protocol/LoginPacket.php index e8c90826f..c018f6582 100644 --- a/src/network/mcpe/protocol/LoginPacket.php +++ b/src/network/mcpe/protocol/LoginPacket.php @@ -25,6 +25,7 @@ namespace pocketmine\network\mcpe\protocol; #include +use pocketmine\network\mcpe\JwtException; use pocketmine\network\mcpe\JwtUtils; use pocketmine\network\mcpe\protocol\serializer\NetworkBinaryStream; use pocketmine\network\mcpe\protocol\types\login\AuthenticationData; @@ -89,7 +90,7 @@ class LoginPacket extends DataPacket implements ServerboundPacket{ //validate every chain element try{ [, $claims, ] = JwtUtils::parse($chain); - }catch(\UnexpectedValueException $e){ + }catch(JwtException $e){ throw new PacketDecodeException($e->getMessage(), 0, $e); } if(isset($claims["extraData"])){ @@ -118,7 +119,7 @@ class LoginPacket extends DataPacket implements ServerboundPacket{ $this->clientDataJwt = $buffer->get($buffer->getLInt()); try{ [, $clientData, ] = JwtUtils::parse($this->clientDataJwt); - }catch(\UnexpectedValueException $e){ + }catch(JwtException $e){ throw new PacketDecodeException($e->getMessage(), 0, $e); }