PHP前端开发

Laravel Sanctum:如何在控制器中不依赖中间件获取用户信息?

百变鹏仔 3天前 #PHP
文章标签 用户信息

如何在控制器中不使用 sanctum 中间件获取用户信息

你在构建的 api 要求在用户登录或未登录的情况下都能访问。当不使用 auth:sanctum 中间件时,你无法通过 auth::check() 方法验证用户的登录状态,因为该方法总是返回 false。

为了解决这个问题,你可以直接在控制器中验证用户信息,而不是在中间件中直接返回 401。以下是在控制器中实现此操作的方法:

$auth = IlluminateSupportFacadesAuth::guard('sanctum');

通过上述方式,你现在可以使用 $auth->check() 和 $auth->user() 方法来获取用户信息。这种方法可以让你更灵活地控制用户的验证过程,同时仍然保持 api 的安全性。