Laravel Passport始终返回401未经身份验证的

时间:2018-12-12 04:35:26

标签: php laravel rest oauth-2.0 laravel-passport

我快疯了!我已经在网上搜索了成千上万个StackOverFlow问题,但还没有解决我的问题。

我正在使用Laravel Framework 5.7和Passport 7.0开发API REST。我已经按照文档设置了每个文件,并且能够使用grant_type=password获取令牌(没有身份验证流程),但是当我尝试访问受auth:api中间件保护的路由时,我总是得到401响应。

这是我的HTTP请求:

GET /api/usuario/1/grupos HTTP/1.1
Host: localhost:8000
Accept: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI...

这是我的auth.php保护配置:

'guards' => [
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

这是我的RouteServiceProvider.php中的mapApiRoutes()

protected function mapApiRoutes()
{
    Route::prefix('api')
         ->middleware('auth:api')
         ->namespace($this->namespace)
         ->group(base_path('routes/api.php'));
}

谢谢。

This is my login request using Postman

This is the 401 when I try to use the token in an api route

编辑:

如果我禁用了'auth:api'中间件,则实际上我可以使用$request->bearerToken()获取Bearer令牌,因此CSRF令牌现在不再存在问题,因为我可以接收请求。

0 个答案:

没有答案