Я использую JWT для авторизации (REST API) в моем крошечном проекте. JWT выглядит очень подходящим для моего проекта.JWT Decode try catch
Скажем, у меня есть этот код:
$key = "secret";
$token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"
$data = JWT::decode($token, $key, array('HS256'));
Этот код возвращает массив, как на официальной странице JWT.
Но если я пытаюсь запустить следующие коды:
$key = "secret";
$token = "abc.abc.abc"
$data = JWT::decode($token, $key, array('HS256'));
или
$key = "secret";
$token = "abc"
$data = JWT::decode($token, $key, array('HS256'));
PHP выдаст исключение/ошибка, как я могу справиться с этими исключениями/ошибок, с тем конечным пользователем не будут видеть их (вместе с моим секретным ключом в ошибке).
Я попытался сделать следующее:
try {
$key = "secret";
$token = "abc"
$data = JWT::decode($token, $key, array('HS256'));
} catch (Exception $e) { // Also tried JwtException
echo 'error';
}
Спасибо, это сработало !!! – Coder
Это работает как шарм! +1 – Leo