如何使用Tymon \ JWT在Laravel 5.5中使用Multiple Guard

时间:2017-12-29 05:03:35

标签: laravel laravel-5 jwt

我在api配置文件中有五个guards选项,如下所示。

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'user_client',
    ],

    'api_admin' => [
        'driver' => 'jwt',
        'provider' => 'user_admin',
    ],
    'api_client' => [
        'driver' => 'jwt',
        'provider' => 'user_client',
    ],
    'user_carrier' => [
        'driver' => 'jwt',
        'provider' => 'user_carrier',
    ],
    'user_client' => [
        'driver' => 'jwt',
        'provider' => 'user_client',
    ]
],

所以我打算对不同类型的请求使用不同的“警卫”,如下所示。

$guard = request()->get('guard'); // driver or admin
JWTAuth::guard('api_'.$guard)

这给了我这个错误:

“方法[警卫]不存在。”

但是当我使用Laravel支持的默认Auth类时,它运行正常。

这是我的工作代码:

$guard = request()->get('guard'); // driver or admin
Auth::guard('api_'.$guard)

我该如何解决这个问题?

任何建议或建议都将不胜感激。

提前谢谢

0 个答案:

没有答案