在我的项目中,我正在整合Laravel Passport,以便在我的应用程序中使用我的API,如here所述。
我的问题是关于laravel_token
Cookie的过期。可以看出here,检查我的应用程序发回的cookie以验证它是否已过期。此到期似乎由我的会话生命周期定义 - 请参阅here。
这似乎暗示laravel_token cookie即使在我的应用程序的用户已经注销之后仍然有效,只要会话时间没有到期(事实上,如果我删除所有会话的话似乎是这样的话)服务器和注销我的用户,使用cookie的API请求仍然成功)。
这是预期的行为吗?如果用户退出,有没有办法自动使cookie过期? (我知道cookie已经从用户的系统中删除了,但是我从cookie被劫持或被盗的理论可能性来看它,然后只要会话有效期就可以使用没过期)。
答案 0 :(得分:0)
尝试这种方式,在这种情况下,refresh_tokens被禁用,cookie也将丢失。
$accessToken = Auth::user()->token();
DB::table('oauth_refresh_tokens')
->where('access_token_id', $accessToken->id)
->update(['revoked' => true]);
$accessToken->revoke();
\Cookie::queue(\Cookie::forget(Passport::cookie()));