我正在使用laravel/passport v9.4.0和laravel 7在我的Nuxt SPA上实现身份验证。为了安全起见,我选择使用PKCE流,但出于某些原因,我只从服务器得到以下响应:
{"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}
我使用了以下命令来创建客户端:
passport:client --name=PKCE --public --no-interaction
我可以在数据库中看到它,因此我知道我使用的是正确的客户端id。我使用的是@numxt/auth,我的授权url如下所示:
http://mycompany.localhost/oauth/authorize?protocol=oauth2
我也在使用stancl/Renancy包,因为它是一个多租户应用程序,但这不应该是一个问题,因为查询看起来都不错。根据本教程,我也尝试过不使用@nuxt/auth,但结果仍然相同。
护照和laravel 7不兼容吗?laravel 7文档详细说明了如何使用PKCE护照,所以不确定这里有什么问题。
客户端中的“重定向”列不正确。因为我正在为我的前端使用npm run dev,所以它应该是http://localhost:3000. Passport默认为我的宅地主机名。
我一直在尝试使用Laravel Passport,但我收到了错误{“error”:“invalid_client”,“message”:“client authentication failed”}。我已经在这个Android和Laravel项目中使用了它,但是当我在数据库中看到正确的数据时,我可以正确地注册用户。然后,当Android应用程序尝试获取访问令牌时,它会崩溃,因为服务器返回了以前的错
我已经安装了拉威尔护照。 下面是我如何生成授权代码: 以上要求均通过良好。以下是我如何尝试生成访问令牌: 当我执行生成访问令牌的代码时,出现以下错误: {“error”:“invalid_client”,“error_description”:“client authentication failed”,“message”:“client authentication failed”} 你知道这个
我的服务器上再次收到错误。 { “错误”: “invalid_client” } 我已经编码到base64并将域列入了白名单,但仍然得到相同的错误。我会感激任何帮助,这让我发疯了,哈哈。
应如何管理它们? 一些更具体的问题: 根据定义,本机应用程序(实际上是公共客户端)不能安全地存储其凭据(client_id+secret)。是未注册的客户吗?如果我不能使用秘密来验证/验证它,我还应该做什么? 客户端注册≠endpoint注册:第一个是关于注册客户端凭据();第二个关于注册客户端重定向endpoint。重定向endpoint注册是否足以授予客户端的真实性? 客户端凭据授予是否使用相
授权服务器为进行客户端身份验证的目的,为Web应用客户端创建客户端凭据。授权服务器被鼓励考虑比客户端密码更强的客户端身份验证手段。Web应用程序客户端必须确保客户端密码和其他客户端凭据的机密性。 授权不得向本地应用程序或基于用户代理的应用客户端颁发客户端密码或其他客户端凭据用于客户端验证目的。授权服务器可以颁发客户端密码或其他凭据给专门的设备上特定安装的本地应用程序客户端。 当客户端身份验证不可用
在向令牌端点发起请求时,机密客户端或其他被颁发客户端凭据的客户端必须如2.3节所述与授权服务器进行身份验证。客户端身份验证用于: 实施刷新令牌和授权码到它们被颁发给的客户端的绑定。当授权码在不安全通道上向重定向端点传输时,或者 当重定向URI没有被完全注册时,客户端身份验证是关键的。 通过禁用客户端或者改变其凭据从被入侵的客户端恢复,从而防止攻击者滥用被盗的刷新令牌。改变单套客户端凭据显然快于撤销