DocuSign documentation通过一个易于遵循的授权流程进行代码授予。我可以从最初对/oath/auth的get请求中获得“代码”,但是当我尝试使用postman时,获得令牌时会得到一个错误"invalid_grant“。我已经按照这些步骤进行了操作,并使用account-d.docusign.com作为主机发送了一个类似以下内容的请求:
POST /oauth/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic MjMwNTQ2YTctOWM1NS00MGFkLThmYmYtYWYyMDVkNTQ5NGFkOjMwODc1NTVlLTBhMWMtNGFhOC1iMzI2LTY4MmM3YmYyNzZlOQ==
grant_type=authorization_code&code=ey2dj3nd.AAAA39djasd3.dkn4449d21d
我团队中的另外两名成员也尝试了他们的开发人员帐户,所有人都收到了invalid_grant错误。这是否不再受支持,或者是否存在与此错误相关的常见错误,我们或许可以对此进行调查?
发布于 2019-01-03 20:39:48
在我的例子中,问题与为Content-Type头设置了错误的值有关,即"application/x-www-form-URIencoded“,而不是正确的"application/x-www-form-urlencoded”。请注意,在我的例子中,问题不是“拼写错误”,而是对DocuSign文档的过度信任。
实际上,在撰写本文时,错误的Content-Type被建议直接放入描述Authorization Code Grant工作流程的文档页面,请参见下图中的相关部分。
希望他们很快就能修复文档,但暂时要小心,不要像我最初做的那样,盲目地复制和粘贴他们示例中的代码。
发布于 2020-06-21 01:24:39
有人知道这里出了什么问题吗?我得到了一个包含以下内容的BadRequest
{"error":"invalid_grant","error_description":"unauthorized_client"}
var client = new RestClient(ESIGNURL);
var request = new RestRequest("/oauth/token");
request.Method = Method.POST;
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(integrationkey+ ":" + secret)));
string body = "grant_type=authorization_code&code=" + code;
request.Parameters.Clear();
request.AddParameter("application/x-www-form-urlencoded", body, ParameterType.RequestBody);
var response = client.Execute(request);
发布于 2021-03-18 03:48:57
我也得到了这个错误。我意识到的是,在将状态传递给oauth令牌端点之前,我将状态附加到了代码的末尾。
这段代码来自Docusign,解释了导致该错误的其他原因。
https://stackoverflow.com/questions/39881341
复制相似问题