关于jwt续签的一点小疑问
看tymon/jwt-auth
这个组件的源码,发现在刷新token的时候,新token的签发时间还是用的原token的。比如我把refresh_ttl设置成一小时,30分钟刷新一次token,那一小时之后就必须重新登录了。
protected function buildRefreshClaims(Payload $payload)
{
// Get the claims to be persisted from the payload
$persistentClaims = collect($payload->toArray())
->only($this->persistentClaims)
->toArray();
// persist the relevant claims
return array_merge(
$this->customClaims,
$persistentClaims,
[
'sub' => $payload['sub'],
'iat' => $payload['iat'],
]
);
}
public function validateRefresh($refreshTTL)
{
if ($this->isPast($this->getValue() + $refreshTTL * 60)) {
throw new TokenExpiredException('Token has expired and can no longer be refreshed');
}
}