Auth::guard ('API')->id () 获取不到用户的 id?

使用Auth::guard('api')->id()获取不到用户的id,并且使用Auth::guard('api') ->user()也获取不到用户信息。
日志:
file
config/api.php中的auth配置:
file
config/auth.php中的guards配置:
file

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

找到原因了,是因为User的命名空间大小写有问题,目录是Models/User,但是我的User里面写的却是APP\models,然后在config/auth.php里面的providers设置的模型又是APP\Models\User::class,使得找不到模型,但是不清楚为什么只有Auth::guard('api')不行,而在web中的Auth::guard('web')是可以的。。。

5年前 评论
讨论数量: 15

在用户登录之后的路由里,使用Auth::guard('api') -> id()或者Auth::guard('api')->user()获取的值都是Null,而控制器中使用$this->user()又是可以获取到值的

5年前 评论

这样一来,在Request中的匹配是否当前用户上传的图片就每次都是匹配不上

5年前 评论
liyu001989

路由放在 api.auth 里面以及你的 token 是如何传的,postman 截图

5年前 评论

@liyu001989

postmanToken:

file

路由是放在了api.auth中间件了:

file

5年前 评论
liyu001989

请求已经通过了 api.auth ,也就是说 Token 通过了验证,但是却获取不到用户。。。那你获取用户信息接口正常吗

5年前 评论

@StepKim

之前我用的非 Api 模式,也出现过类似问题。 问了很多人自己也查资料与测试,结果对低层不了解,也不知道是那里出问题了,结果只能重装,你的问题有结果了,请你一定告诉我一下,谢谢。

我提问地址:问答:Laravel5.5 手动登录验证登录失败?

5年前 评论

@liyu001989 获取用户信息接口中使用的是$this -> user()方法,这个方法是可以获取到值的

5年前 评论
liyu001989

file
file

我重现不了,首先请使用 homestead 环境,然后对比项目源码

5年前 评论

找到原因了,是因为User的命名空间大小写有问题,目录是Models/User,但是我的User里面写的却是APP\models,然后在config/auth.php里面的providers设置的模型又是APP\Models\User::class,使得找不到模型,但是不清楚为什么只有Auth::guard('api')不行,而在web中的Auth::guard('web')是可以的。。。

5年前 评论

@FreeMason 我的这个问题已经找到原因并解决了,是因为User模型的命名空间问题,不清楚你那个是不是也这个问题

5年前 评论

@StepKim 谢谢,不管是不是,下次遇到类似问题,就多一个查错的方案了。

5年前 评论

我遇到了跟楼主一样的问题,但是没有发现命名空间的错误呀,但是就是获取不到user的任何信息

5年前 评论
Cwift

@liyu001989 请问在Model文件中怎么获取登录用户信息?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!