2017-06-12 302 views
0

我已经使用Laravel 5.4实现了Dingo REST API。我能够从服务器获取令牌。以及toke被服务器成功接收。但它是抛出401异常,这是调试堆栈跟踪:Laravel 5.4 Dingo/JWT API:无法通过有效令牌进行身份验证

我已经尝试通过url传递相同的结果令牌。

{ 
"message": "Failed to authenticate because of bad credentials or an invalid authorization header.", 
"status_code": 401, 
"debug": { 
    "line": 113, 
    "file": "C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Auth\\Auth.php", 
    "class": "Symfony\\Component\\HttpKernel\\Exception\\UnauthorizedHttpException", 
    "trace": [ 
     "#0 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Auth\\Auth.php(96): Dingo\\Api\\Auth\\Auth->throwUnauthorizedException(Array)", 
     "#1 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Http\\Middleware\\Auth.php(52): Dingo\\Api\\Auth\\Auth->authenticate(Array)", 
     "#2 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(148): Dingo\\Api\\Http\\Middleware\\Auth->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))", 
     "#3 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#4 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Http\\Middleware\\PrepareController.php(45): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#5 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(148): Dingo\\Api\\Http\\Middleware\\PrepareController->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))", 
     "#6 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#7 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#8 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(576): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", 
     "#9 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(535): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request))", 
     "#10 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(513): Illuminate\\Routing\\Router->dispatchToRoute(Object(Dingo\\Api\\Http\\Request))", 
     "#11 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Routing\\Adapter\\Laravel.php(81): Illuminate\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))", 
     "#12 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Routing\\Router.php(513): Dingo\\Api\\Routing\\Adapter\\Laravel->dispatch(Object(Dingo\\Api\\Http\\Request), 'V1')", 
     "#13 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Http\\Middleware\\Request.php(126): Dingo\\Api\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))", 
     "#14 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(114): Dingo\\Api\\Http\\Middleware\\Request->Dingo\\Api\\Http\\Middleware\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#15 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#16 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(148): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))", 
     "#17 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#18 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(148): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))", 
     "#19 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#20 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(148): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))", 
     "#21 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#22 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(148): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))", 
     "#23 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(102): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))", 
     "#24 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Http\\Middleware\\Request.php(127): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", 
     "#25 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\dingo\\api\\src\\Http\\Middleware\\Request.php(103): Dingo\\Api\\Http\\Middleware\\Request->sendRequestThroughRouter(Object(Dingo\\Api\\Http\\Request))", 
     "#26 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(148): Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Illuminate\\Http\\Request), Object(Closure))", 
     "#27 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", 
     "#28 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", 
     "#29 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(149): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", 
     "#30 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))", 
     "#31 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\public\\index.php(54): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))", 
     "#32 C:\\Users\\ghgf\\PhpstormProjects\\edwheel\\server.php(21): require_once('C:\\\\Users\\\\ghgf\\\\P...')", 
     "#33 {main}" 
    ] 
} 

回答

0

我终于解决了这个问题。其实在用Volley向Dingo API提出请求时。我们必须将Content Type标头设置为JSON。

希望它可以帮助别人。

相关问题