咨询下 jwt-auth 中系列问题
使用Tymon\JWTAuth
包实现jwt效果,但有几个方面不太懂。
- 通过
Auth::guard('api')->payload()
查看到sub中是用户id,那么Auth::guard('api')->user()
本质上还是从数据库还是通过主键用户id查询返回信息吗? - 我看了一下
Auth::guard('api')->id()
是通过user查询数据库后返回的,为什么不直接返回payload
中的sub
呢? Auth::guard('api')->getUser()
和Auth::guard('api')->user()
有什么区别?- 如果可以,能否将
Auth::guard('api')->user()
改成从redis或其他缓存中取呢
首先,,,不是只要有个 ID,就确定可以登录的,,,你可以试试用 ID=1 登录后,把这个用户删了,再用 token 去请求,应该是 401 的,,,所以肯定会去查。
如果你想把用户存到缓存,论坛有个类似的帖子,
或者自己观察下他取用户的逻辑,进行重写
这个问题提的非常好,帖子链接大概是这个 => Larave Auth Token 认证使用自定义 Redis UserProvider