菜鸟求指教Laravel内置api的问题

用的是laravel自带的api

但是user表和token表是区分开的。而且User模型上做了对Token模型的HasOne关联。

退出退录时,获取 Request->user() 获取不到。是 config/auth 下的 model 设为 Token.class 的原因吗?

现在我想实现通过去Token表里就能获取到对应User 该怎么搞老哥们,不然会被中间件给拦截

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

oh ,dear,其实可以直接在user 表中直接加api_token 的参数的,不要去折磨自己。新增一个表去关联token,会增加查询,如果没做缓存增加资源的开销。

既然你提出了这个问题,肯定有办法解决的。

Provider model 还是用 User,但是验证的时候,修改一下,这样你就是正常的使用Laravel Api 了
file

这两个文件中,你测试下触发的是哪个。

file

在文件里面查找上图的代码,这边的->where()查询关联你的token表

道理是这样的,看下源码就好了

注意:请用继承的方式修改代码

博客:Laravel guard 菊花守卫者

2年前 评论
浪里小白龙 (楼主) 2年前
讨论数量: 3
Epona

model 应该是 User 不是Token

2年前 评论
浪里小白龙 (楼主) 2年前
Epona (作者) 2年前

oh ,dear,其实可以直接在user 表中直接加api_token 的参数的,不要去折磨自己。新增一个表去关联token,会增加查询,如果没做缓存增加资源的开销。

既然你提出了这个问题,肯定有办法解决的。

Provider model 还是用 User,但是验证的时候,修改一下,这样你就是正常的使用Laravel Api 了
file

这两个文件中,你测试下触发的是哪个。

file

在文件里面查找上图的代码,这边的->where()查询关联你的token表

道理是这样的,看下源码就好了

注意:请用继承的方式修改代码

博客:Laravel guard 菊花守卫者

2年前 评论
浪里小白龙 (楼主) 2年前

这个不是 Laravel 内置的 API 问题,你这个项目很奇怪,User 和 Token 是一对一(HasOne)的关系,为什么还单独分表呢?

这里我给你两个方案:

  1. 在 Token 加上 User 模型的关联,然后可以这样调用
    $token = Request()->user();
    // $token->user 就是你关联的 User 模型了
  2. 将 Token 的数据合并至 User,将 config/auth.php 的 providers 中的 model 修改为 User 模型。
2年前 评论
浪里小白龙 (楼主) 2年前

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