Новый accesstoken. Всегда отменять аутентификацию, даже если я перезаписал session_key & sig - PullRequest
0 голосов
/ 13 октября 2011

По данным чата:

 // 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>

Очевидно, я заменил ключ сессии и sig на accesstoken.

Я что-то пропустил?

Я не знаю, как убить эту беду.

1 Ответ

1 голос
/ 13 октября 2011

Убедитесь, что вы также используете TLS. В примере кода PHP: http://developers.facebook.com/docs/chat/ вы увидите, как это обрабатывается, если вы будете искать $ START_TLS

...