首页 > 解决方案 > 在 API 路由 Laravel 8 中获取由 Fortify 认证的用户

问题描述

我有一个 Laravel 8 应用程序,它使用 Fortify 和自定义视图来登录和注册用户。我有一些 API 路由,我也想获取它们的登录用户详细信息。问题是我不想使用 Passport 和其他包来使工作难以生成令牌等等,因为大多数路线都在 中web.php,只有一些路线在api.php,所以我尝试过的如下所示:

dd(auth()->guard('api')->user());

但是,它返回 null 并且...

dd(Auth::user());

再次返回 null。有没有办法在 API 路由中获取经过身份验证的用户?

标签: phplaravel-8fortify

解决方案


在您的控制器方法中,您可以使用以下两种方法检索用户:

public function render(Request $request) {
    $user = $request->user(); // 1
    $user = auth()->user(); // 2
}

推荐阅读