连接使用来自Salesforce的OAuth 2.0 User-Agent身份验证中的访问令牌拒绝

时间:2012-10-26 09:11:11

标签: salesforce oauth-2.0 access-token remote-access connection-reset

我正在使用OAuth2.0用户代理身份验证流程来获取访问权限。刷新令牌,以便我可以通过远程访问使用Foce.com REST API。现在,问题是我能够成功授权并收到令牌,但在授权我的客户端应用程序之后使用这些令牌时,我收到了java.net.ConnectException:连接被拒绝错误。

按照我正在做的步骤

  1. 重定向到 https://login.salesforce.com/services/oauth2/authorize?response_type=token&client_id= {my_client_id}&安培; REDIRECT_URI = {my_redirect_uri}&安培;状态= myState

  2. 在salesforce中授权应用程序,然后在redirect_uri的散列中接收访问令牌并刷新令牌,作为
    {my_redirect_uri}#=的access_token {my_access_token}&安培; refresh_token = {my_refresh_token}&安培; instance_url = HTTPS%3A%2F%2Fap1.salesforce.com和ID = HTTPS%3A%2F%2Flogin.salesforce.com%2Fid%2F00D90000000gscOEAQ% 2F00590000000sdtJAAQ&安培; issued_at = 1351151192815&安培;签名= {my_signature_value}&安培;状态= myState &安培;范围= ID + API + refresh_token

  3. 现在我通过POST来使用相同的访问令牌来使用REST API https://ap1.salesforce.com/services/data/v20.0/sobjects/Lead/ 带有请求标题:
    内容类型:application / json
    授权:OAuth {my_access_token}

  4. 我在发送帖子时没有转义访问令牌,因为在使用CURL时需要完成。使用HttpClient Java API时还需要吗?

    我得到的响应是“java.net.ConnectException:Connection refused error”。 有人可以让我知道我做错了什么或如何进一步调试?有没有办法看到Salesforce结束时发生了什么?有些日志可能是?

    如果我尝试OAuth刷新令牌过程,我会得到完全相同的连接拒绝错误。

1 个答案:

答案 0 :(得分:0)

对不起噪音。

我使用“刷新令牌过程”验证客户机密,同时使用“过期访问/刷新令牌”获得“invalid_grant”,但由于它是安全传输所以我在Java中获得的是“连接已拒绝”而没有详细的错误消息

我通过如here所述在Charles中设置SSL代理来了解详细错误。之后,我能够看到请求参数和响应发送到https://ap1.salesforce.com,这是之前无法读取的。