当前位置: 首页 > 知识库问答 >
问题:

Laravel Passport基本api验证返回“错误”:“客户端无效”,“消息”:“客户端验证失败”

何楷
2023-03-14

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

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

我曾尝试使用这个堆栈溢出页面、这个GitHub页面和许多其他网页来修复这个问题,但没有任何效果

>

  • 我想这可能是因为我的laravel版本和passport(见下文)不兼容。我已手动将laravel版本更改为5.4,但出现了编写器错误。我不想重新安装laravel,因为我想我可能会使我所有的laravel项目崩溃。

    如何将数据打印到控制台?我使用了error_log(),但无法打印变量名,使用dd()我得到一个错误,表示变量无法转换为字符串。

  • 共有2个答案

    申高峯
    2023-03-14
    1. 您必须错误地传递客户端id和客户端密码

    php artisan passport:客户端

    这将注册client_id和client_密码,然后检查此表中是否有(oauth_clients),如果没有添加,则默认添加client_id和client_密码

    解念
    2023-03-14

    您是否尝试过这样的配置:?客户端id和“客户端密码”代替客户端密码。你在param中的数据与你在打印“oauth_客户表”上发布的数据相同,对吧,但我认为你的问题是这个param“客户机_密码”,我以前从未见过这种方式!

     类似资料:
    • 我的服务器上再次收到错误。 { “错误”: “invalid_client” } 我已经编码到base64并将域列入了白名单,但仍然得到相同的错误。我会感激任何帮助,这让我发疯了,哈哈。

    • 因此,为了实现这个逻辑,我认为我需要在客户端验证JWT令牌。Q1,这是一个明智的做法吗。 Q2,我正在使用的库似乎需要一个公钥才能使用它的函数。我似乎没有公钥,只有一个秘密,这是我刚刚编造的,所以它不是用一对生成的。我的公钥从何而来,或者是否有另一种方法来验证我的令牌而不使用此方法? 这一切似乎应该是显而易见的,我错过了一些东西,所以很抱歉,如果这是一个愚蠢的问题,但我似乎找不到答案?

    • 取消验证也被称为解除身份验证攻击。这种攻击非常有用,这种攻击允许我们断开任何设备与范围内的任何网络的连接,即使网络具有加密或使用密钥。 在解除身份验证攻击攻击中,我们假装是客户端并通过将我们的MAC地址更改为客户端的MAC地址,并向路由器发送我们想要断开连接的路由器来向路由器发送解除认证数据包。与此同时,我们将伪装成路由器,将我们的MAC地址更改为路由器的MAC地址,直到我们请求断开连接的客户端为

    • 我正在使用laravel/passport v9.4.0和laravel 7在我的Nuxt SPA上实现身份验证。为了安全起见,我选择使用PKCE流,但出于某些原因,我只从服务器得到以下响应: 我使用了以下命令来创建客户端: 我可以在数据库中看到它,因此我知道我使用的是正确的客户端id。我使用的是@numxt/auth,我的授权url如下所示: http://mycompany.localhost

    • 我看到这个问题已经被问了很多次,但是没有一个答案是有效的,所以我请求帮助和一些见解。 我使用laravel回声和redis广播事件。我的laravel回声服务器启动得很好,redis运行得很好。 重新加载网页时,在laravel echo服务器终端中出现以下错误: 我一直在做这件事,但没有什么能帮上忙。 这是我的 这里是我的 我的 这是我的larave echo服务器。json 当我触发事件时,我

    • 所以我四处寻找问题的答案已经有一段时间了,尝试了很多建议,但我似乎找不到答案。 感谢任何帮助 以下是相关代码 log-in.component.ts: