JWT 编码错误 需要 3 个参数。找到 2

Nyo*_*tha 0 php codeigniter jwt codeigniter-4

当我使用以下代码创建令牌时,我尝试在 CI4 中使用 JWT 创建一个 Restful api:

$key = getenv('TOKEN_SECRET');
    $payload = array(
        "iat" => 1356999524,
        "nbf" => 1357000000,
        "uid" => $user['id'],
        "email" => $user['email']
    );

    $token = JWT::encode($payload, $key);
Run Code Online (Sandbox Code Playgroud)

为什么我会收到错误:

预计有 3 个参数。找到 2

Dha*_*eda 5

第三个参数应该是您尝试用于编码的算法。例如,HS256就是其中一种算法。

所以在你的例子中它将是:

$token = JWT::encode($payload, $key, 'HS256');
Run Code Online (Sandbox Code Playgroud)

您可以参考以下链接进行参考: https://packagist.org/packages/firebase/php-jwt