Laravel Passport 基本 api 身份验证返回 "error":"invalid_client","message":&quo

Posted

技术标签:

【中文标题】Laravel Passport 基本 api 身份验证返回 "error":"invalid_client","message":"Client authentication failed"【英文标题】:Laravel Passport basic api auth returns "error":"invalid_client","message":"Client authentication failed" 【发布时间】:2018-05-22 01:17:55 【问题描述】:

问题

我一直在尝试使用 Laravel Passport,但遇到错误 "error":"invalid_client","message":"Client authentication failed"。我在这个android and Laravel 项目中使用了它,但是当我在数据库中看到正确的数据时,我可以正确地注册用户。然后,当 Android 应用程序尝试获取访问令牌时,它会崩溃,因为服务器返回之前的错误消息。

我也一直在关注这个YouTube tutorial,正如它所解释的那样,但我在它发送“访问令牌请求”的部分遇到了这个错误。

邮递员数据

oauth_clients 表


我尝试过的

我尝试使用此Stack Overflow 页面、此GitHub 和许多其他网页页面来解决此问题,但没有任何效果

可能的原因

我认为可能是我的 laravel 版本不兼容 和护照(见下文)。我已手动将 laravel 版本更改为 5.4,但我 得到一个作曲家错误。我不想重新安装 laravel 因为我想我 可能会使我所有的 laravel 项目崩溃。

'user_id' 列必须由 laravel 填充(我手动 将其更改为用户的 user_id,然后我将其恢复为 零)


如何将数据打印到控制台?我使用 error_log() 但我无法打印变量名称,并且使用 dd() 我得到错误消息,指出无法将变量转换为字符串。

【问题讨论】:

【参考方案1】:
    你必须错误地传递client_id和client_password 如果您必须正确传递 client_id 和 client_password 然后检查数据库表 oauth_clients client_id 和 client_password 是否已插入行,如果未添加,则在控制台中运行此命令

php工匠护照:客户端

这将注册 client_id 和 client_password,然后在此表(oauth_clients)中检查,如果未添加,则手动添加 client_id 和 client_passsword

【讨论】:

您的回答不可理解且不合逻辑。为什么我必须传递错误的数据?数据库表的图片是 oauth_clients 表。最后,使用正确的标点符号和正确的动词时态。 你的错误说 "error":"invalid_client","message":"Client authentication failed" 你有 client_id 和 client_password send(pass) 这是错误的或数据库中不存在。 .....所以您必须发送(通过)正确的client_id和client_password ....您的用户详细信息是正确的...(我的英语很弱)【参考方案2】:

有没有尝试过这样的配置:? client_id 和“client_secret”而不是 client_password。 您在参数中的数据与您在打印“oauth_clients table”上发布的数据相同,对,但我认为您的问题是这个参数“client_password”,我以前从未见过这种方式!

【讨论】:

问题解决了!!!我可以推断,在最新版本中,“client_password”字段可能已被“client_secret”取代。谢谢...

以上是关于Laravel Passport 基本 api 身份验证返回 "error":"invalid_client","message":&quo的主要内容,如果未能解决你的问题,请参考以下文章

php 使用Passport进行Laravel REST API身份验证:https://www.cloudways.com/blog/rest-api-laravel-passport-authen

每天一点点之laravel框架 - Laravel5.6 + Passport实现Api接口认证

Laravel 5.4建站06--API 认证系统 Passport

laravel + passport 搭建 api 认证系统 基础应用

Laravel 通过 Passport 实现 API 请求认证:令牌作用域详解

使用 Passport 进行 Laravel API 身份验证导致 401(未经授权)