api - 此错误的含义是什么:“客户端身份验证只能使用一种机制提供”
问题描述
我正在达到以下端点
https://<my company>.onelogin.com/oidc/token
有时我会收到以下错误响应,但我不确定这意味着什么。
{"error":"invalid_request","error_description":"client authentication must only be provided using one mechanism"}
我将以下字段作为参数发送:
grant_type=authorization_code
代码=已编辑
redirect_uri=已编辑
client_id=已编辑
client_secret=编辑
任何人都可以解释为什么这个端点会间歇性地失败吗?
解决方案
我们已经弄清楚了导致这种“单一机制”问题的原因。我们向 OneLogin 技术支持团队发送了电子邮件,并收到了以下回复:
正如您在我们的文档中看到的那样,“client_secret”的位置取决于您的令牌端点身份验证方法设置。API 参考
如果身份验证方法 = POST,则“client_secret”在正文中。
如果 Authentication Method = Basic 则“client_secret”被编码并放置在 Authorization 标头中。
您的应用程序当前正在授权标头和 POST 正文中发送此值。在过去,这不是问题,但随着规范的收紧,它将导致您的应用程序出现 400 错误。
他们将很快更新他们的文档,但现在,请使用本指南来摆脱应用程序中的“单一机制”错误。
推荐阅读
- asp.net-core - 如何在 asp.net 核心中间件中添加自定义加密/解密?
- python - 用 python 互连 DMM 和 DAQ PMX
- git - git 防御者不适用于 VS 代码源代码控制
- javascript - 模拟 redis 监听器
- javascript - 使用 js 用户脚本重新定位弹出窗口
- ios - UIImageView 状态 isHighlighted 在情节提要中设置为 true 但在加载视图时设置为 false
- .net - 在使用 select-xml 应用 XPath 表达式后,是否有可靠的方法来获取所选元素的名称
- matlab - 为什么这段代码无法处理不同的矩阵?
- javascript - 我可以使用 DropzoneJs 在拖动事件中获取文件名以及文件是否是有效类型(给定 mime)?
- google-sheets - 在 Google 表格中使用包含过滤器的 ARRAYFORMULA