我在Vue项目中使用了laravel sanctum SPA身份验证。一切都很好,但即使注销也可以正常工作
Auth::logout()
我仍然能够从中间件内部的api路由获取数据
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
我应该无法在注销后获取数据,它应该显示401未经身份验证,但事实并非如此。 如何解决这个问题。我在这里呆了3天。我也遵循laravel文档和其他教程,但是每个注销都和我一样。
答案 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()