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

作者站长头像
站长
· 阅读数 5

我有一个api,需要在控制器中获取用户信息

这个api需要在登录 或者 不登录的情况下都能访问

如果我不加上 auth:sanctum 中间件则无法通过Auth::check()来验证用户是否登录

没有加上中间件 auth:sanctum , Auth::check() 方法始终返回的是false

我想在控制器中来验证用户信息而不是在中间件中验证直接返回401

望大佬解答

回复
1个回答
avatar
test
2024-06-26

去掉中间件,然后在控制器里面写。

$auth = \Illuminate\Support\Facades\Auth::guard('sanctum');

现在你就可以用这个 $auth->check()$auth->user() 来获取用户信息了。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容