我想为我的网络应用程序创建一个API。在此API中,用户由令牌标识。所有的工作,但在我的控制器,当我想得到用户时,我必须写这样的东西:
Auth::guard('api')->user();
每次我必须使用此方法来获取用户。我想使用类似$request->user()
的内容,但此选项会返回null
:(
如果我想从请求用户处获得该怎么办?谁能帮我?
答案 0 :(得分:4)
你还需要将守卫传递给Request::user()
方法。
$user = $request->user('api');
或者您可以为API路由组设置默认保护:
Route::group(['domain' => 'api.app.dev', 'guard' => 'api'], function () {
// ...
});
这样,您只需要设置一次,每次调用Auth::user()
之类的内容时,都会根据之前设置的警卫获取用户对象。
有关该主题的更多信息,请查看此文章:
Setting the Guard Per Route in Laravel