讨论数量:
/**
* 根据传递的 bearerToken 获取已授权用户id
*
* @param $bearerToken
* @return null
*/
protected function getAuthUserId($bearerToken)
{
$header = data_get(explode('.', $bearerToken), 1);
$acTokenId = data_get(json_decode(base64_decode($header), true), 'jti');
$acToken = $acTokenId
? Passport::token()->where('client_id', config('admin.client_id'))->where('revoked', false)->find($acTokenId)
: null;
if (empty($acToken)) {
gateway('admin')->closeClient($this->clientId, 'token 无效');
return;
}
if ($this->acTokenExpired($this->acToken)) {
gateway('admin')->closeClient($this->clientId, 'token 已过期');
return;
}
return $acToken->user_id;
}
推荐文章: