我在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)
我该如何解决这个问题?
任何建议或建议都将不胜感激。
提前谢谢