laravel 如何在不使用sanctum中间件在控制器中获取用户信息?
我有一个api,需要在控制器中获取用户信息
这个api需要在登录 或者 不登录的情况下都能访问
如果我不加上 auth:sanctum 中间件则无法通过Auth::check()来验证用户是否登录
没有加上中间件 auth:sanctum , Auth::check() 方法始终返回的是false
我想在控制器中来验证用户信息而不是在中间件中验证直接返回401
望大佬解答
回复
1个回答
test
2024-06-26
去掉中间件,然后在控制器里面写。
$auth = \Illuminate\Support\Facades\Auth::guard('sanctum');
现在你就可以用这个 $auth->check()
和 $auth->user()
来获取用户信息了。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容