tymon/jwt-auth 包遇到的问题
刷新时间的问题
因为刷新的时候,一般情况下本身的token已经过期了,所以refresh不能限权,否则访问不了。
像skyArony-JWT 完整使用详解,评论中说的,
public function __construct() {
$this->middleware('jwt.auth', ['except' => ['login', 'refresh']]);
}
刷新时候获得当前用户的问题
因为tymon/jwt-auth 获取user的代码,是从当前访问带的token中去获得user。
if ($this->jwt->setRequest($this->request)->getToken() &&
($payload = $this->jwt->check(true)) &&
$this->validateSubject()
) {
return $this->user = $this->provider->retrieveById($payload['sub']);
}
当前的token过期了,所以想获得用户的基本信息,可以通过payload获得id,再去获得用户实例。
$uId = JWTAuth::setToken($token)->getPayload()->get('sub');
$user = User::findOrFail($id);
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: