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]
它神奇的工作。
我真的很希望它有帮助,我们花了一整天的时间尝试很多解决方案,这是我们工作的一个方法。
答
其中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令牌。
不适合我 – vietnguyen09