【发布时间】:2019-10-11 17:00:50
【问题描述】:
我正在尝试使用 Laravel 护照,但我不知道我是否发现了错误或遗漏了什么。
登录控制器:
$user = $request->user();
$tokenResult = $user->createToken('Personal Access Token');
$token = $tokenResult->token;
$token->expires_at = Carbon::now()->addWeeks(1);
$token->save();
所以我在用户登录时创建令牌。在数据库上,我看到生成的令牌有 expires_at 字段:一周后,所以它是正确的。 但是,如果我将这个值更改为旧日期,我仍然可以使用这个令牌......
Laravel 只是忽略了这个字段?为什么?
我做了我的研究,但我有点困惑......很多人说令牌不会在 1 年内到期或到期。但是后来我发现了一些带有这个sn-p的帖子:
public function boot(){
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(Carbon::now()->addHours(24));
Passport::refreshTokensExpireIn(Carbon::now()->addDays(30));
}
我了解 tokensExpireIn 设置 expires_at 字段,而 refreshTokensExpireIn 用于在用户每次使用他的令牌时刷新此字段...
但是如果 Laravel 无论如何都不检查这个字段,那就没用了。
【问题讨论】:
标签: laravel token access-token laravel-passport bearer-token