token = $data['token']; $this->refresh_token = $data['refresh_token']; $this->user_id = $data['user_id']; $this->start_time = time(); $this->site_id = $data['site_id']; $this->end_time = time() + config('jwtauth.web.expire_time_refresh'); $this->save(); } /** * 返回刷新token * @param $refresh_token * @return array|void * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function refreshToken($refresh_token) { $time = time(); $_op = self::where('refresh_token', $refresh_token); $_op->where('start_time', '<', $time)->where('end_time', '>', $time); $token_data = $_op->field('user_id,site_id')->find(); if (!empty($token_data)) { /** * 登录用户ID */ defined('UID') ?: define('UID', $token_data->getData('user_id')); /** * 站点ID */ defined('SITE_ID') ?: define('SITE_ID', $token_data->getData('site_id')); // //查询用户信息 // $loginUser = (new Manager())->parentRead(UID)->toArray(); //发送JWT签证密钥 $token_data->id = $token_data->user_id; $token_obj = (JwtAuth::getInstance())->setToken($token_data); $token = $token_obj->getToken(); $_data = [ 'token' => $token, 'refresh_token' => $refresh_token, //返回refresh_token本身不延期 'expire' => config('jwtauth.web.expire_time'), // 'refresh_token' => $token_obj->createRefreshToken($this), ]; return $_data; } return; } }