我想使用 laravel\sanctum 进行 SPA 身份验证,其中 Laravel 是后端 api,Vue 是前端 SPA。我做了所有手册上的说明,但我遇到了问题:
当我在 api.php
Route::post('/logout', [AuthController::class, 'logout'])
位于中间件('auth:sanctum')下,由于错误,我无法注销用户:
Method Illuminate\Auth\RequestGuard::logout does not exist.
注销功能在哪里:
Auth::logout();
但是当我删除中间件('auth:sanctum')时 - 注销功能运行良好并且用户注销。
问题是:注销路由是否应该受到保护?
补充:对于那些想说:使用 Auth::logout('web') - 它不起作用,因为用户保持登录状态。
最佳答案
您必须显式使用防护。 使用您的自定义防护更改网络:
Auth::guard('web')->logout();
关于Laravel - 注销路线是否公开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64961923/