首页> 实战笔录 >PHP开发笔记 >ThinkPHP ThinkPHP
TP6使用Jwt验证token时报错Cannot pass parameter 3 by reference
作者:小萝卜 2024-04-29 【 TP6 Jwt Token 】 浏览 1043
简介TP6使用Jwt,在解析token调用decode()方法时报错Cannot pass parameter 3 by reference,JWT::decode($token, self::$key, [self::$alg]);
TP6使用Jwt,在解析token调用decode()方法时报错:Cannot pass parameter 3 by reference

博主这里是因为使用的旧版API的写法,导致的报错
$token = JWT::decode($jwt, $env['secret'], ['HS512']);
新版本API的写法如下:
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
$decoded = JWT::decode($jwt, new Key($key, 'HS256'));
$decoded = JWT::decode($jwt, new Key($key, 'HS256'), $headers = new stdClass());
很赞哦! (2)