Salesforce 返回“unsupported_grant_type”

Posted

技术标签:

【中文标题】Salesforce 返回“unsupported_grant_type”【英文标题】:Salesforce returning "unsupported_grant_type" 【发布时间】:2012-12-31 14:52:35 【问题描述】:

我们使用 Web 服务器身份验证流程实现了 OAuth 2.0。它在 10 月/ 11 月运行良好,但突然停止运行。每当我们尝试授权另一个客户端时,服务器都会返回 (400) 带有正文的错误请求

"error":"unsupported_grant_type","error_description":"grant type not supported"

grant_type 设置为授权码,绝对有效。

OAuth 突然停止工作有什么原因吗?


这就是我们实施 OAuth 的方式:

第一个用户被定向到:https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=blah.id&redirect_uri=https://domain.com/Web/Salesforce/Callback.aspx&scope=api%20refresh_token

Salesforce 提示用户登录他们的帐户。

一旦用户通过身份验证,Salesforce 调用 Callback.aspx,Callback.aspx 代表客户端请求刷新令牌,方法是向:https://login.salesforce.com/services/oauth2/token 发出 POST 请求,负载:

grant_type=authorization_code&code=blah.code&client_id=blah.Id&client_secret=11111111&redirect_uri=https://domain.com/Web/Salesforce/Callback.aspx

内容类型肯定是:application/x-www-form-urlencoded

【问题讨论】:

查看我在这个问题上提供的详细答案:***.com/questions/12794302/… 【参考方案1】:

经过大量摆弄提琴手后,发现 HTTP POST 有效负载中的 grant_type=authorization_code 之前有一个空格导致了问题。

有趣的是,自 7 月以来,代码库中一直存在空间,并且此问题在 1 月 14 日首次发现。Salesforce 可能修复了错误或进行了内部更改以在 grant_type=authorization_code 之前拒绝空间。

【讨论】:

能否请您指导:salesforce.stackexchange.com/questions/172980/… ?【参考方案2】:

确保您使用的是“https”而不是 http

如果您在通过终端 sfdx 命令授权 Org 时遇到此错误 -

error authenticating with auth code due to: grant type not supported

为我工作的“https”解决了我的授权类型不受支持的问题。

【讨论】:

以上是关于Salesforce 返回“unsupported_grant_type”的主要内容,如果未能解决你的问题,请参考以下文章

post 请求数据返回 Unsupported Media Type

C# HttpClient 在补丁请求中返回 415 Unsupported media type

具有 Cognito 身份验证的 AWS API Gateway Lambda 函数返回 415 Unsupported Media Type

Salesforce 顶点

当 PostAsJsonAsync 时 unsupported_grant_type

将 Plaid 与 Salesforce 集成