jwt插件 token错误或者过期后无任何数据返回
用Postman 请求端口 可以看到 Tinywan\Jwt\Exception\JwtTokenException: 身份验证令牌无效 in /www/wwwroot/www.test.com/webman/vendor/tinywan/jwt/src/JwtToken.php:166<br /> Stack trace:<br /> 这种提示
但是在前端,提示的是 无法加载响应数据,是我什么地方弄错了吗
很明显抛出异常了呀,那你不捕获异常,前端请求不就是报错无法加载了.
try { $uid = JwtToken::getCurrentId(); } catch (Tinywan\Jwt\Exception\JwtTokenException $exception) { // 返回自己自定义的message格式 return json(['code' => 0,'message' => $exception->getMessage()]); }
使用了这个进行捕捉,也不行。返回的是200 但是还是提示cros错误。只有没有跨域的情况下才返回正常。而跨域设置不生效,也是因为这个错误导致的,不知道怎么改了。
好吧,是因为JwtTokenException的原因。换成RuntimeException就没问题了。
jwt是明文的,建议不要使用jwt,请使用AES加密生成Token
很明显抛出异常了呀,那你不捕获异常,前端请求不就是报错无法加载了.
try {
$uid = JwtToken::getCurrentId();
} catch (Tinywan\Jwt\Exception\JwtTokenException $exception) {
// 返回自己自定义的message格式
return json(['code' => 0,'message' => $exception->getMessage()]);
}
使用了这个进行捕捉,也不行。返回的是200 但是还是提示cros错误。只有没有跨域的情况下才返回正常。而跨域设置不生效,也是因为这个错误导致的,不知道怎么改了。
好吧,是因为JwtTokenException的原因。换成RuntimeException就没问题了。
jwt是明文的,建议不要使用jwt,请使用AES加密生成Token