Laravel Sanctum SPA身份验证注销不起作用

时间:2020-08-05 11:45:36

标签: laravel vue.js single-page-application laravel-sanctum

我在Vue项目中使用了laravel sanctum SPA身份验证。一切都很好,但即使注销也可以正常工作

Auth::logout()

我仍然能够从中间件内部的api路由获取数据

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

我应该无法在注销后获取数据,它应该显示401未经身份验证,但事实并非如此。 如何解决这个问题。我在这里呆了3天。我也遵循laravel文档和其他教程,但是每个注销都和我一样。

2 个答案:

答案 0 :(得分:1)

请使用Auth::guard('web')->logout();代替Auth::logout()。调查SPA Log out issue

答案 1 :(得分:0)

要注销特定用户,您需要指定用户。

// Revoke a specific user token
Auth::user()->tokens()->where('id', $id)->delete();

// Get user who requested the logout
$user = request()->user(); //or Auth::user()
// Revoke current user token
$user->tokens()->where('id', $user->currentAccessToken()->id)->delete()