首页 > 解决方案 > 为什么我在 Laravel 护照中的 Auth check 在尝试注销时总是返回 false,即使我可以成功注册?

问题描述

我能够成功注册,这应该意味着用户已通过身份验证,但由于某种原因事实并非如此。

尝试在前端注销时:

运行时dd(Auth::check());- 它总是 falsemiddleware('auth:api');.

但是,在运行时dd(Auth::check());- 它总是{message: "Unauthenticated."}在它位于middleware('auth:api');.

谁能告诉我我做错了什么?

api.php:

Route::middleware('auth:api')->group( function () {
    Route::post('/logout', [RegisterController::class, 'logout']);
});

注册控制器.php:

public function logout(Request $request) {
    $headers = collect($request->header())->transform(function ($item) {
        return $item[0];
    });

    $success['cookie'] = 'Bearer' . $headers['cookie'];
    $success['content-type'] = $headers['content-type'];
    $success['authenticated'] = Auth::check();

    dd(Auth::check());

    return response()->json([
        'message' => 'Successfully logged out',
        'cookie' => $success['cookie'],
        'content-type' => $success['content-type'],
        'authenticated' => $success['authenticated']
    ]);
}

标签: phplaraveldebugging

解决方案


推荐阅读