是在后台来验证的,客户端只要传过去就好了
try{
}catch(\Exception $e){
}
异常捕获可解决
165行的validate是jwt的方法不是调用老师封装的方法(虽然名字一样)
你应该把代码放出来..
return response()->json(array('code' => ErrorCode::NOT_LOGIN, 'msg' => ErrorMsg::$errorMsg[ErrorCode::NOT_LOGIN]));
在中间件里应该返回一个 Response 对象,return response()->json($arr);
你是laravel版本几的?我的5.8需要用
return response($this->jsonData(1,'登录过期'));
在中间件里应该返回一个 Response 对象,return response()->json($arr);
validate($data) 的这个函数不是$this 的函数
而是 decodeToken的函数
$this->decode() 这个返回值是 decodeToken
?????
1、慕课好像不提供下载
2、可以使用的
可以借助redis或者mysql来,登录之后将token(或者登录时间等新)写入到存储,之后使用中间件校验token是否与存储中的一致
token过期、黑名单等的策略也是可以使用redis来做的
可以看一下jwt的说明文档,服务器端生成token的时候会设置过期时间的。也就是说服务器端会负责维护token及token是否过期的,只是jwt做了封装,我们自己不需要关心这一块。当客户端传过来token我们只要调用验证的方法就知道token是否已经过期了。