如何使 Exception 更简单 CodeIgniter4

问题描述 投票:0回答:0

所以,我有使用 CI4 的 JWT 身份验证 API,其中一种方法是过滤,它告诉你是否有 JWT 的令牌,如果用户没有令牌,它将返回一个异常,告诉 JWT 身份验证像这样失败了:

邮递员:

网页:

是否有可能像这样让它更简单?,只是一个响应,没有像第一张图片中那样的跟踪异常

这里是 jwt_helper.php :

<?php

use App\Models\AuthModel;
use Firebase\JWT\JWT;

function getJWT($headerAuth)
{
    if (is_null($headerAuth)) {
        throw new Exception("JWT Authentication failed");
    }
    return explode(" ", $headerAuth)[1];
}

function validateJWT($encodedToken)
{
    $key = getenv('JWT_SECRET_KEY');
    $decodedToken = JWT::decode($encodedToken, $key, ['HS256']);
    $authModel = new AuthModel();
    // * xxxx.xxxx.xxxx
    $authModel->getEmail($decodedToken->email);
}
function createJWT($email)
{
    $requestTime = time();
    $tokenTime = getenv('JWT_TOKEN_TIME');
    $tokenExpireTime = $requestTime + $tokenTime;
    $payload = [
        'email' => $email,
        'iat' => $requestTime,
        'exp' => $tokenExpireTime
    ];
    $jwt = JWT::encode($payload, getenv('JWT_SECRET_KEY'), 'HS256');
    return $jwt;
}
codeigniter exception codeigniter-4
© www.soinside.com 2019 - 2024. All rights reserved.