Laravel 8 登录 JWT 验证总是 401

Laravel 8 Login JWT Auth always 401

我在 Laravel 8 中使用 'tymon/jwt-auth'。我完全按照 'https://jwt-auth.readthedocs.io/en/docs/laravel-installation/' 上的步骤操作,但我仍然总是收到 401 Unauthorized。

我在 Postman 中调试时无法找出原因,而且我所做的与教程中的人所做的没有什么不同。我在网上查了一下,有些人怀疑密码可能不是作为加密字符串 (md5) 读取的。有什么想法吗?

AuthController.php:

        public function login(Request $request)
    {
        $credentials = $request->only('email', 'password');

        if (! $token = $this->guard()->attempt($credentials)) {
            return response()->json(['error' => 'Email or Password invalid'], 401);
        }
        return $this->respondWithToken($token);

    }
 
 Inside User Model:

    <?php
    
    namespace App;
    
    use Tymon\JWTAuth\Contracts\JWTSubject;
    use Illuminate\Notifications\Notifiable;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    
    class User extends Authenticatable implements JWTSubject
    {
        use Notifiable;
    
        // Rest omitted for brevity
    
        /**
         * Get the identifier that will be stored in the subject claim of the JWT.
         *
         * @return mixed
         */
        public function getJWTIdentifier()
        {
            return $this->getKey();
        }
    
        /**
         * Return a key value array, containing any custom claims to be added to the JWT.
         *
         * @return array
         */
        public function getJWTCustomClaims()
        {
            return [];
        }
    }

  config/auth.php:

        'defaults' => [
        'guard' => 'api',
        'passwords' => 'users',
        ],

        'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
        'api' => [
            'driver' => 'jwt',
            'provider' => 'users',
        ],
    ],

 router/api.php:

        Route::group([
    
        'middleware' => 'api',
        'namespace' => 'App\Http\Controllers',
        'prefix' => 'auth'
    
        ], function ($router) {
    
          Route::post('login', 'AuthController@login');
          Route::post('logout', 'AuthController@logout');
          Route::post('refresh', 'AuthController@refresh');
          Route::post('me', 'AuthController@me');
    
        });

我不得不在密码字段中使用 bcrypt 格式而不是 md5。