新的访问令牌。即使我 replcaed session_key & sig 也总是未经身份验证

Posted

技术标签:

【中文标题】新的访问令牌。即使我 replcaed session_key & sig 也总是未经身份验证【英文标题】:New accesstoken. Always unauthenticate even if I replcaed session_key & sig 【发布时间】:2011-10-13 08:15:42 【问题描述】:

根据聊天文档:

 // creates the response array

  $resp_array = array(

    'method' => $challenge_array['method'],

    'nonce' => $challenge_array['nonce'],

    'access_token' => $access_token,

    'api_key' => $options['app_id'],

    'call_id' => 0,

    'v' => '1.0',
  );
  // creates signature

  $response = http_build_query($resp_array); 

所以我在下面更改了我的代码:

[buffer appendFormat:@"api_key=%@&", self.app_key];
[buffer appendFormat:@"call_id=%d&", rand()];
[buffer appendFormat:@"method=%@&", self.method];
[buffer appendFormat:@"nonce=%@&", self.nonce];
[buffer appendFormat:@"access_token=%@&",self.accessToken];
[buffer appendFormat:@"v=%@&",@"1.0"];
NSData *utf8data = [buffer dataUsingEncoding:NSUTF8StringEncoding];

然后发送[utf8data base64Encoded]到fb服务器

但仍然出现未验证错误。

RECV: <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>

显然,我用 accesstoken 替换了 session_key & sig。

我遗漏了什么吗?

我不知道如何解决这个麻烦。

【问题讨论】:

【参考方案1】:

确保您也在使用 TLS。在 php 代码示例中:http://developers.facebook.com/docs/chat/ 如果您搜索 $START_TLS

,您将看到这是如何处理的

【讨论】:

以上是关于新的访问令牌。即使我 replcaed session_key & sig 也总是未经身份验证的主要内容,如果未能解决你的问题,请参考以下文章

struts token令牌机制

Alamofire 4 重试器和适配器无法看到更改的 accessToken

Python 中的链接 API 错误 - “Empty oauth2 access token”即使给出了访问令牌

在 JavaScript 中存储刷新令牌,获取新的访问令牌

刷新令牌是不是需要过期的 JWT 才能创建新的访问令牌?

(JAVA) Google API 分析 - 无法使用“刷新令牌”获取新的“访问令牌”