419 POSTLing Laravel Passport路由创建客户端时出错

问题描述:

我已经添加了对我的项目Laravel Passport的支持,并且我试图使用他们的JSON API来测试创建客户端。我已经完成了多次添加护照的步骤,并可以确认我已经按照他们的步骤添加了护照。 Here is a link to the branch of my code that implements Passport。我的要求如下所示:419 POSTLing Laravel Passport路由创建客户端时出错

POST /oauth/clients HTTP/1.1 
HOST: localhost:8000 
accept: application/json 
content-length: 67 

{ 
    "name": "MyTestClient", 
    "redirect": "https://www.google.com" 
} 

而我得到的回应是:

{ 
    "message": "", 
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException", 
    "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php", 
    "line": 203, 
    "trace": [ 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php", 
      "line": 175, 
      "function": "prepareException", 
      "class": "Illuminate\\Foundation\\Exceptions\\Handler", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/app/Exceptions/Handler.php", 
      "line": 51, 
      "function": "render", 
      "class": "Illuminate\\Foundation\\Exceptions\\Handler", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 83, 
      "function": "render", 
      "class": "App\\Exceptions\\Handler", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 55, 
      "function": "handleException", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php", 
      "line": 49, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\View\\Middleware\\ShareErrorsFromSession", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php", 
      "line": 63, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\Session\\Middleware\\StartSession", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php", 
      "line": 37, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php", 
      "line": 59, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\Cookie\\Middleware\\EncryptCookies", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 102, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Router.php", 
      "line": 647, 
      "function": "then", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Router.php", 
      "line": 622, 
      "function": "runRouteWithinStack", 
      "class": "Illuminate\\Routing\\Router", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Router.php", 
      "line": 588, 
      "function": "runRoute", 
      "class": "Illuminate\\Routing\\Router", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Router.php", 
      "line": 577, 
      "function": "dispatchToRoute", 
      "class": "Illuminate\\Routing\\Router", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", 
      "line": 176, 
      "function": "dispatch", 
      "class": "Illuminate\\Routing\\Router", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 30, 
      "function": "Illuminate\\Foundation\\Http\\{closure}", 
      "class": "Illuminate\\Foundation\\Http\\Kernel", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/fideloper/proxy/src/TrustProxies.php", 
      "line": 56, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Fideloper\\Proxy\\TrustProxies", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", 
      "line": 30, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", 
      "line": 30, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php", 
      "line": 27, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php", 
      "line": 46, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 149, 
      "function": "handle", 
      "class": "Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", 
      "line": 53, 
      "function": "Illuminate\\Pipeline\\{closure}", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", 
      "line": 102, 
      "function": "Illuminate\\Routing\\{closure}", 
      "class": "Illuminate\\Routing\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", 
      "line": 151, 
      "function": "then", 
      "class": "Illuminate\\Pipeline\\Pipeline", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", 
      "line": 116, 
      "function": "sendRequestThroughRouter", 
      "class": "Illuminate\\Foundation\\Http\\Kernel", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/public/index.php", 
      "line": 55, 
      "function": "handle", 
      "class": "Illuminate\\Foundation\\Http\\Kernel", 
      "type": "->" 
     }, 
     { 
      "file": "/Users/me/Documents/code/RoboHome-Web-Port/RoboHome-Web/server.php", 
      "line": 21, 
      "function": "require_once" 
     } 
    ] 
} 

对于你的问题,你只需要在护照上的路线禁用CSRF保护

CSRF用于确保内部请求实际上是内部请求。在你的情况下,他们特别不是,所以你不需要它。您将使用OAuth(护照)保护这些路线。