我已经使用Laravel 5.4实现了Dingo REST API。我能够从服务器获取令牌。以及服务器成功接收到toke。但它抛出401异常,这是调试堆栈跟踪:
我已经尝试通过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 :(得分:0)
我终于解决了这个问题。实际上在向Volley提出Dingo API的请求时。我们必须将Content Type标头设置为JSON。
希望它有所帮助。