【问题标题】:Is try-catch sufficient to verify JWT?try-catch 是否足以验证 JWT?
【发布时间】:2018-09-28 16:21:50
【问题描述】:

我正在使用 firebase/php-jwt 库对 JWT 进行编码和解码,并使用 try/catch 来处理无效签名、过期令牌和各种其他异常,如下面的代码所示。

try {
    $decoded = JWT::decode($jwt, $secret_key, array('HS256')); 

    // do something

} catch (Exception $e) {
    echo 'Error: ',  $e->getMessage(), ". Please login again.";  
}

我想知道的是,单独使用 try-catch(特别是使用 firebase/php-jwt 库)是否足以验证 JWT 令牌? firebase/php-jwt 库能够处理各种异常,例如无效签名、过期令牌等,所以我是否需要添加一些额外的代码来验证 jwt?如果是,如何?如果没有,为什么不呢?

【问题讨论】:

标签: php try-catch jwt


【解决方案1】:

回答你的问题

验证 JWT 令牌是否足够?

是的,只要您以正确的方式使用它,即您提供所需的所有有效参数,包括keytoken 并编写正确的// do something

例子:

try {
    $key = "secret";
    $token = "abc"
    $data = JWT::decode($token, $key, array('HS256')); 
} catch (\Exception $e) { // Also tried JwtException
    echo 'error', ". Please login again.";  
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2023-01-31
    • 2018-11-18
    • 2021-11-13
    • 1970-01-01
    • 2018-02-10
    • 2014-06-24
    相关资源
    最近更新 更多