问题描述
我有一个 Laravel 8 应用程序,它使用 Fortify 和自定义视图来登录和注册用户。我有一些 API 路由,我也想获取有关它们的登录用户详细信息。问题是我不想使用 Passport 和其他包来使生成令牌等工作变得困难,因为大多数路由都在 web.PHP
中,只有一些路由在 api.PHP
,所以我尝试过的如下:
dd(auth()->guard('api')->user());
然而,它返回 null 和...
dd(Auth::user());
再次返回空值。有没有办法在 API 路由中获取经过身份验证的用户?
解决方法
在您的控制器方法中,您可以使用以下两种方法检索用户:
public function render(Request $request) {
$user = $request->user(); // 1
$user = auth()->user(); // 2
}