Jwt-auth: You must unsign before making changes

Created on 21 Jan 2018  路  3Comments  路  Source: tymondesigns/jwt-auth

what does it mean?

public function login(Request $request)
    {
        $identity = $request->input('identity');
        $password = $request->input('password');

        $user = User::login($identity, $password);
        if ($user) {
            return ApiResponse::template(['token' => JWTAuth::fromUser($user)], ResponseStatusCode::USER_LOGIN_SUCCESS);
        } else {
            return ApiResponse::template([], ResponseStatusCode::USER_LOGIN_FAIL);
        }
    }
{
    "message": "You must unsign before making changes",
    "status_code": 500,
    "debug": {
        "line": 219,
        "file": "/Users/fudenglong/workdir/php/languagediff/vendor/lcobucci/jwt/src/Builder.php",
        "class": "BadMethodCallException",
        "trace": [
            "#0 /Users/fudenglong/workdir/php/languagediff/vendor/tymon/jwt-auth/src/Providers/JWT/Lcobucci.php(105): Lcobucci\\JWT\\Builder->set('iss', 'http://api.lang...')",
            "#1 /Users/fudenglong/workdir/php/languagediff/vendor/tymon/jwt-auth/src/Manager.php(84): Tymon\\JWTAuth\\Providers\\JWT\\Lcobucci->encode(Array)",
            "#2 /Users/fudenglong/workdir/php/languagediff/vendor/tymon/jwt-auth/src/JWT.php(78): Tymon\\JWTAuth\\Manager->encode(Object(Tymon\\JWTAuth\\Payload))",
            "#3 /Users/fudenglong/workdir/php/languagediff/vendor/tymon/jwt-auth/src/JWT.php(90): Tymon\\JWTAuth\\JWT->fromSubject(Object(App\\User))",
            "#4 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Tymon\\JWTAuth\\JWT->fromUser(Object(App\\User))",
            "#5 /Users/fudenglong/workdir/php/languagediff/app/Http/Controllers/Api/V1/UserController.php(48): Illuminate\\Support\\Facades\\Facade::__callStatic('fromUser', Array)",
            "#6 [internal function]: App\\Http\\Controllers\\Api\\V1\\UserController->login(Object(Dingo\\Api\\Http\\Request))",
            "#7 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)",
            "#8 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('login', Array)",
            "#9 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\Api\\V1\\UserController), 'login')",
            "#10 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\Routing\\Route->runController()",
            "#11 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Route->run()",
            "#12 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#13 /Users/fudenglong/workdir/php/languagediff/vendor/dingo/api/src/Http/Middleware/PrepareController.php(45): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#14 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Dingo\\Api\\Http\\Middleware\\PrepareController->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#15 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#16 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#17 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
            "#18 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request))",
            "#19 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\Routing\\Router->runRoute(Object(Dingo\\Api\\Http\\Request), Object(Illuminate\\Routing\\Route))",
            "#20 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\Routing\\Router->dispatchToRoute(Object(Dingo\\Api\\Http\\Request))",
            "#21 /Users/fudenglong/workdir/php/languagediff/vendor/dingo/api/src/Routing/Adapter/Laravel.php(81): Illuminate\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
            "#22 /Users/fudenglong/workdir/php/languagediff/vendor/dingo/api/src/Routing/Router.php(512): Dingo\\Api\\Routing\\Adapter\\Laravel->dispatch(Object(Dingo\\Api\\Http\\Request), 'v1')",
            "#23 /Users/fudenglong/workdir/php/languagediff/vendor/dingo/api/src/Http/Middleware/Request.php(126): Dingo\\Api\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
            "#24 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(114): Dingo\\Api\\Http\\Middleware\\Request->Dingo\\Api\\Http\\Middleware\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#25 /Users/fudenglong/workdir/php/languagediff/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#26 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\\Proxy\\TrustProxies->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#27 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#28 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#29 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#30 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#31 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#32 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#33 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#34 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#35 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#36 /Users/fudenglong/workdir/php/languagediff/vendor/dingo/api/src/Http/Middleware/Request.php(127): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
            "#37 /Users/fudenglong/workdir/php/languagediff/vendor/dingo/api/src/Http/Middleware/Request.php(103): Dingo\\Api\\Http\\Middleware\\Request->sendRequestThroughRouter(Object(Dingo\\Api\\Http\\Request))",
            "#38 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#39 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
            "#40 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))",
            "#41 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
            "#42 /Users/fudenglong/workdir/php/languagediff/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))",
            "#43 /Users/fudenglong/workdir/php/languagediff/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))",
            "#44 {main}"
        ]
    }
}
bug

All 3 comments

@tymondesigns
I found that \Lcobucci\JWT\Builder must be unsign() before you encode the token.

this will happen if you check the token (decode) then encode the token

this happen too if you generate refresh token

Thanks I'll take look

@gamelife1314 @anggakes This should now be resolved

Was this page helpful?
0 / 5 - 0 ratings

Related issues

NaelsonBrasil picture NaelsonBrasil  路  3Comments

Rasoul-Karimi picture Rasoul-Karimi  路  3Comments

CBR09 picture CBR09  路  3Comments

agneshoving picture agneshoving  路  3Comments

functionpointdaniel picture functionpointdaniel  路  3Comments