Я пытаюсь использовать тег fb: registration XFBML.По большей части это, кажется, работает;однако, когда я нажимаю «X» в поле имени и затем нажимаю «Выйти», я получаю сообщение об ошибке
Неверный 'client_id'.
Хотя этопроизошла ошибка, похоже, фактический процесс выхода был успешным;если я вручную обновляю страницу, я получаю форму в состоянии выхода из системы.Я попытался обойти эту проблему, подписавшись на события auth.logout и перезагрузив страницу, но ошибка не позволяет запускать события до тех пор, пока не перезагрузится страница.
Используя firebug, я обнаружил, что настоящая ошибка javascriptравен FB.getSession incompatible with OAuth2
и вызывается в строке 9 из connect.facebook.net/en_US/all.js
.Я не вызываю ничего, связанного с сессиями, поэтому я не совсем уверен, почему это происходит.
Я пытался использовать Firefox, Chrome и Safari, и все три испытывают проблему.Кроме того, в Safari и Chrome я также получаю ту же ошибку при попытке войти с помощью плагина регистрации.Если я обновляю вручную, ошибка исчезает, и процесс входа в систему проходит успешно, как и при выходе из системы.
Я запускаю это локально во время разработки, и поэтому я создал приложение facebook только для тестирования с URL сайта иссылка на домен localhost.Я не в режиме песочницы и загружаю js sdk следующим образом:
<div id="fb-root"></div>
<script src="{$pageProtocol}connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId: {$facebookAppId},
cookie: true,
xfbml: true,
status: true,
channelUrl: '{$pageProtocol}{$webhost}/{$channel}',
oauth: true
});
(Это вызывается из шаблона smarty; я посмотрел на сгенерированный источник и все {$ var}биты заменяются правильно.)
Вот мой тег xfbml:
<fb:registration
redirect-uri="http://localhost:8888/join?with=facebook&done=true"
fields='[{"name":"name"},
{"name":"email"},
{"name":"city", "description":"City", "type":"select", "options":{
"_98":"Albany / Capital Region",
"_3":"Albuquerque",
"_99":"Allentown / Reading"
}
}
fb_only = true
>
</fb:registration>
(я сократил список городов выше.)
Так что если кто-нибудь сможет выяснить, чтоЯ делаю что-то не так, пожалуйста, дайте мне знать.
Изображения:
из этого модального сообщения: http://i.stack.imgur.com/sVN1E.png
нажмите Выйти, и вы получите: http://i.stack.imgur.com/eiLwY.png