没有用户模型的Laravel JWT身份验证

时间:2017-12-28 04:54:57

标签: php laravel api jwt dingo-api

我试图在同一个项目中为移动用户构建一个laravel应用程序和API。主网站实际上是网站的后端,需要我已经实施的正确身份验证。并且api还需要进行身份验证,但具有不同的凭据(不是来自Web的用户模型)。

此时我已在我的项目中添加了dingo api并且工作正常。但现在我还需要为dingo添加jwt。问题是jwt默认使用App \ User Model,我不想用网络用户凭证验证api用户。请建议我解决这个问题的最佳方法是什么。感谢

1 个答案:

答案 0 :(得分:0)

查看文档,看起来您在config.php文件中指定了使用php artisan vendor:publish

发布的身份验证提供程序

auth设置为您的提供商: https://github.com/tymondesigns/jwt-auth/blob/develop/config/config.php#L252

或者您可以在app.php配置文件中指定您使用的驱动程序和/或用户提供程序:

https://github.com/laravel/laravel/blob/master/config/auth.php#L69 https://github.com/laravel/laravel/blob/master/config/auth.php#L70

更新

  1. 迁移到保留客户表:php artisan make:migration create_clients_table

  2. 根据需要更新迁移文件。

  3. 使用php artisan make:model Client

  4. 创建客户端模型
  5. 更新模型以匹配迁移并添加任何关系。

  6. 运行迁移。

  7. 这应该使this能够正常工作

    您可能需要相应地更新以下内容:

    'api' => [
        'driver' => 'token',
        'provider' => 'clients',
    ],
    

    或可能:

    'api' => [
        'driver' => 'token',
        'provider' => 'jwt',
    ],
    

    https://github.com/laravel/laravel/blob/master/config/auth.php#L46

相关问题