protected function bootBindings()
    {
        $this->app->singleton('Lia\Addons\JWTAuth\JWTAuth', function ($app) {
            return $app['lia.jwt.auth'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\Providers\User\UserInterface', function ($app) {
            return $app['lia.jwt.provider.user'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\Providers\JWT\JWTInterface', function ($app) {
            return $app['lia.jwt.provider.jwt'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\Providers\Auth\AuthInterface', function ($app) {
            return $app['lia.jwt.provider.auth'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\Providers\Storage\StorageInterface', function ($app) {
            return $app['lia.jwt.provider.storage'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\JWTManager', function ($app) {
            return $app['lia.jwt.manager'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\Blacklist', function ($app) {
            return $app['lia.jwt.blacklist'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\PayloadFactory', function ($app) {
            return $app['lia.jwt.payload.factory'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\Claims\Factory', function ($app) {
            return $app['lia.jwt.claim.factory'];
        });

        $this->app->singleton('Lia\Addons\JWTAuth\Validators\PayloadValidator', function ($app) {
            return $app['lia.jwt.validators.payload'];
        });
    }