首页 > 解决方案 > 即使我成功登录,为什么 Auth::user() 返回 null?

问题描述

我正在使用 Laravel 护照

即使我成功登录,我也不确定为什么dd(Auth::user());会返回。null我看到返回的身份验证令牌表明我已经登录,但是为什么不这样dd(Auth::user());说呢?

我四处寻找可能的解决方案,但无济于事。

public function login(Request $request) {
    $credentials = ['email' => $request->email, 'password' => $request->password];

    if (Auth::guard('web')->attempt($credentials, false)) {
        $token = auth('web')->user()->createToken('MyApp')->accessToken;
        dd(Auth::user());
        
        return response()->json([
            'message' => 'Successfully logged in',
            'loginToken' => $token
        ]);
    }

    return $this->sendError('Unauthorized.', ['error' => 'Unauthorized']);
}

标签: phplaraveldebugging

解决方案


你需要中间件来使用 Auth::user()


推荐阅读