Laravel-Passport总是将有效期设为1年

时间:2019-01-31 09:59:06

标签: laravel laravel-passport

我尝试将令牌的过期时间设置为8小时,但始终设置为1年。 在AuthServiceProvider中:

$time = new \DateTime();
$time->add(new \DateInterval('P0Y0M0DT8H0M'));
Passport::tokensExpireIn($time);

这是在我登录到应用程序时执行的。然后,Laravel开始构建应用程序并结束执行构建功能(Illuminate\Foundation\Application->build)。执行此代码后:

if ($concrete instanceof Closure) {
    return $concrete($this, $this->getLastParameterOverride());
}

调用PassportServiceProvider-> registerAuthorizationServer,并在Passport::tokensExpireIn()内部执行至少5次,因此,由于没有DateTime参数调用它,因此将令牌的过期时间重新设置为1年。

我已经验证过,它第一次输入tokensExpireIn函数时,它会正确设置到期时间,但随后它将执行之前的代码并将其覆盖1年。

此功能有问题吗,还是有任何方法可以设置此registerAuthorizationServer()函数之后的到期时间?

0 个答案:

没有答案