【问题标题】:Laravel Passport basic api auth returns "error":"invalid_client","message":"Client authentication failed"Laravel Passport 基本 api 身份验证返回 "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() 我得到错误消息,指出无法将变量转换为字符串。

【问题讨论】:

    标签: laravel laravel-5 oauth-2.0 laravel-passport


    【解决方案1】:
    1. 你必须错误地传递client_id和client_password
    2. 如果您必须正确传递 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”取代。谢谢...
    猜你喜欢
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2018-01-05
    • 2015-06-05
    • 2018-08-12
    • 2016-04-22
    • 1970-01-01
    相关资源
    最近更新 更多