通过cookie进行Laravel Passport身份验证 - 注销时到期?

时间:2018-01-04 08:57:16

标签: laravel laravel-5 laravel-passport

在我的项目中,我正在整合Laravel Passport,以便在我的应用程序中使用我的API,如here所述。

我的问题是关于laravel_token Cookie的过期。可以看出here,检查我的应用程序发回的cookie以验证它是否已过期。此到期似乎由我的会话生命周期定义 - 请参阅here

这似乎暗示laravel_token cookie即使在我的应用程序的用户已经注销之后仍然有效,只要会话时间没有到期(事实上,如果我删除所有会话的话似乎是这样的话)服务器和注销我的用户,使用cookie的API请求仍然成功)。

这是预期的行为吗?如果用户退出,有没有办法自动使cookie过期? (我知道cookie已经从用户的系统中删除了,但是我从cookie被劫持或被盗的理论可能性来看它,然后只要会话有效期就可以使用没过期)。

1 个答案:

答案 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()));
相关问题