【发布时间】:2020-06-11 06:30:41
【问题描述】:
当我通过 jwt 登录 api 时出现错误 ..当我注册它的善意但登录显示错误时
InvalidArgumentException:未定义身份验证保护 [客户]。在 文件 C:\Users\Ahmed\Desktop\project web\laravel_pro\vendor\laravel\framework\src\Illuminate\Auth\AuthManager.php 第 84 行
这是控制器
public function login(Request $request){
$credentials = $request->only('email', 'password');
if (Auth::guard('customer')->attempt($credentials))
{
$user= JWTAuth::guard('customer')->user();
$jwt = JwtAuth::generateToken($user);
return response()->json(compact('jwt'));
}else{
return response()->json(['error' => 'invalid_credentials'], 400);
}
这是api路由
Route::post('login','UserController@login');
这是 auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'customer'=>[
'driver' => 'token',
'provider'=> 'customers',
]
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'customers' => [
'driver' => 'eloquent',
'model' => App\Customer::class,
],
请任何人帮助我解决..谢谢
【问题讨论】:
-
尝试运行
php artisan config:clear或php artisan config:cache -
我试过之前芦荟不行,你有其他解决方案吗
-
但在运行 php artisan config :cache ....错误更改为 Call to undefined method Illuminate\Auth\TokenGuard::attempt()
-
将您的驱动程序从
token更改为session'driver' => 'session',之后再次运行php artisan cache:clear php artisan config:cache -
谢谢我搜索,我找到了从令牌的解决方案并更改为会话..但现在显示新错误 invalid_credentials .....我的代码是对还是错???