laravel中进行两次身份验证时出现问题(BadMethodCallException :)

时间:2020-02-26 11:54:11

标签: laravel api jwt

我需要做一个身份验证:一个用于表中的Web(用户)……和两个身份验证:用于另一个表中的API(user_api)……在Web Laravel中使用make:auth的用户可以正常工作。所以我在注册时使用的是JWT for API,它工作正常,并给了我一个令牌,但在登录时却给我一个错误

BadMethodCallException:方法[guard]不存在。在文件中 C:\ Users \ Ahmed \ Desktop \ project 419行上的web \ laravel_pro \ vendor \ tymon \ jwt-auth \ src \ JWT.php

这是控制器

public function login(Request $request){

    $credentials = $request->only('phone', 'password');

    try {
        if (!$token =JWTAuth::guard('users_api')->attempt($credentials)){
                return response()->json(['error' => 'invalid_credentials'], 400);
        }

    } catch (JWTExcption $e) {
        return response()->json(['error' => 'could_not_create_token'], 500);
    }
    return response()->json(compact('token'));
}

这是配置

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',

    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
        'hash' => false,
    ],
    'users_api' => [
        'driver' => 'token',
        'provider' => 'users_api',
    ],
],


'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],
    'users_api'=>[
        'driver' => 'eloquent',
        'model' => App\User_api::class,

    ],

0 个答案:

没有答案