Laravel 5.3 + Passport:总是未经身份验证的错误

问题描述:

在我当前的项目中使用Passport时,我总是收到“Unauthenticated error”(未经验证的错误)。这就是我做了持续3天数:Laravel 5.3 + Passport:总是未经身份验证的错误

  • 安装和配置护照(如文档说)
  • 请求令牌(密码同意令牌)与邮差
  • 请求保护的途径(AUTH:API中间件)与令牌
  • 获取 `{“错误”:“未经身份验证”。 }`
  • 搜索和搜索和研究
  • 获取 `{ “错误”: “未。” }`

然后,我安装了一个新鲜的L5.3和一个新鲜的数据库,工作正常。即使我目前的数据库!

我已经试过了,我发现没有成功的所有解决方案...

谁能帮助我?任何想法将不胜感激。

谢谢。

我和你有同样的问题,并且无处不在寻找解决方案。

在我的情况下,它似乎是Apache的错。 Apache正在删除标题“Authorization:Bearer TOKEN_HERE”,所以auth:api不能按预期工作(获得401未授权)。

我们最终想加入到我们的.htaccess:

RewriteCond %{HTTP:Authorization} ^(.*) 

RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] 

它神奇的工作。

我真的很希望它有帮助,我们花了一整天的时间尝试很多解决方案,这是我们工作的一个方法。

+0

不适合我 – vietnguyen09

其中grant_type是否用于生成此令牌?

可能的解决方法如下所示

1:如果您正在使用的客户端凭证生成您的access_token,你必须打开client_credentials,中间件如下。

1.1添加到routeMiddleware在\软件\ HTTP \ Kernel.php

'client_credentials'  => \Laravel\Passport\Http\Middleware\CheckClientCredentials::class, 

1.2使用 'client_credentials' 中间件在你的路线了。

Route::group(['prefix' => 'v1','middleware' => 'client_credentials'], function() { 

    // Your routes here 

}); 

2:格兰特 - 输入密码

2.1:创建一个密码授予客户端

PHP工匠护照:客户--password

2。2:请求令牌与下面的头字段

'grant_type' => 'password', 
    'client_id' => 'client-id', 
    'client_secret' => 'client-secret', 
    'username' => '[email protected]', 
    'password' => 'my-password', 

末点/的OAuth /令牌

你现在得到应该给你访问到您的API令牌。