无法在资源内获取Auth :: user()

时间:2019-03-25 20:21:39

标签: laravel

我正在尝试在资源内部获取Auth :: user(),但它返回null。

public function toArray($request)
{
    return [
        'test' => Auth::user(),
    ];
}

1 个答案:

答案 0 :(得分:1)

请更精确。此资源是在api.php内还是在web.php内?由于API是无状态的,这一点很重要;如果您尝试从api.php访问路由内的用户,并且没有为该路由分配auth:api中间件,则通常返回null。

如果资源位于api.php内,则它应如下所示:

Route::get('/something', 'Api\SomethingController@toArray')->middleware('auth:api');

否则,如果它在web.php中,但您仍然找不到用户,请尝试检查浏览器的cookie /会话,并确保在登录后可以在存储中看到它。