Salesforce OAuth 2.0用户代理流程:INVALID_SESSION_ID

时间:2013-11-14 20:15:33

标签: oauth-2.0 salesforce

我一直在尝试在我的连接应用上测试OAuth流程,但是我得到以下行为:

  1. 授权应用:

      

    https://login.salesforce.com/services/oauth2/authorize?response_type=token&       CLIENT_ID = theclientid&安培; REDIRECT_URI = HTTPS%3A%2F%2Fmysite.com

  2. 登录Salesforce,点击“RemoteAccessAuthorizationPage”上的“允许”

  3. Page重定向到mysite.com。使用URL中的“access_token”,进行以下cURL调用

      

    卷曲-X GET   https://na1.salesforce.com/services/data/v28.0/sobjects/Account -H   '授权:持有者'-H'X-PrettyPrint:1'

  4. 回复:

      

    {   “message”:“会话已过期或无效”,   “errorCode”:“INVALID_SESSION_ID”   }

  5. 我还尝试使用我从1获得的令牌“OAuth刷新令牌流程”。但是,这也失败了:

      

    {error_description:“过期的访问/刷新令牌”错误:   “invalid_grant”}

    我尝试将%21转换为!在URL编码的access_token中,但没有帮助。

    有人能说出我做错了吗?

2 个答案:

答案 0 :(得分:1)

想出来,cURL调用格式不正确。我不得不用'!'替换'%21'并将标题从“Bearer”更改为“OAuth”。

答案 1 :(得分:0)

看起来你在到达

之后错过了一步
https://login.salesforce.com/services/oauth2/authorize?response_type=token& client_id=theclientid&redirect_uri=https%3A%2F%2Fmysite.com

您需要输入登录详细信息,然后您才会被重定向到您在已连接的应用设置中设置的回调网址,其中包含可用于对您的应用进行身份验证的访问令牌。