我有两个应用程序:SPA使用Vuejs 3构建,API使用Laravel构建。SPA在127.0.0.1:5173上运行,API在127.0.0.1:8000上运行。用户可以成功进行身份验证,但我想注销,它不起作用,用户保持身份验证,未抛出任何错误
注销功能:
public function logout(Request $request)
{
if(method_exists(auth()->user()->currentAccessToken(), 'delete')) {
$request->user()->currentAccessToken()->delete();
}
Auth::guard('web')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return response()->json([
'success' => true,
]);
}
axios请求:
logout() {
return new Promise((resolve, reject) => {
axios
.post('/api/v1/auth/logout')
.then((response) => {
resolve(response)
})
注销途径:
//api.php
Route::prefix('/v1')->group(function () {
Route::group(['prefix' => 'auth'], function () {
Route::post('logout', [AuthController::class, 'logout'])->middleware('auth:sanctum');
});
.....
1条答案
按热度按时间vsdwdz231#
如果您正在使用sancutum作为API,则可以执行类似以下的操作来注销用户