jwt 自定义 数据表 区别于 auth 中的 users 表

auth 中 数据表是users
jwt 安装成功后 ,默认使用的 auth 进行 认证 ,读取的也是users表的数据,
假如  需要使用 api_user 表的步骤:

方案一 :

  •  修改jwt配置文件中  'user' => 'App\Models\ApiUser',
  •  在认证的时候,调用 JWTAuth::fromUser($user),$user 是从api_user 表中读取的数据

方案二 :

  • 修改jwt配置文件中  'user' => 'App\Models\ApiUser',
  • 在 vendor/tymon/jwt-auth/src/Providers/Auth/IlluminateAuthAdapter.php  文件中修改如下代码
    原代码:
    public function __construct(AuthManager $auth)
    {
        $this->auth = $auth;
    }

    修改后

    public function __construct(AuthManager $auth)
    {
        $this->auth = $auth;
        $this->auth->provider('eloquent', function ($app, $config) {
            return new EloquentUserProvider($app['hash'], config('jwt.user'));
        });
    }
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

当然是第一种方案好了,官方从来都不推荐修改vendor

6年前 评论

config/jwt.php 没有 user 配置项啊。添加的么?

4年前 评论

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