Azure ACS Facebook Ошибка 191 redirect_uri не принадлежит приложению, когда страница нравится

Я использую Facebook C# SDK, чтобы опубликовать лайк на Facebook из моего защищенного ACS веб-приложения, но получаю сообщение об ошибке:

Код ошибки API: 191
Описание ошибки API: Указанный URL-адрес не принадлежит приложению Сообщение об ошибке: redirect_uri не принадлежит приложению.

Я считаю, что причина этого в том, что URL-адрес страницы, которая мне нравится, не соответствует домену приложения Facebook.

Подробности:

  • Страница, которую я пытаюсь поставить «Нравится», это (например) http://mysite.com/Story.aspx.

  • В ACS ссылка на мою безопасную страницу входа — https://mysite-acs.accesscontrol.windows.net/.

  • В Facebook моим доменом приложения является mysite-acs.accesscontrol.windows.net, а URL-адрес сайта в разделе «Веб-сайт с входом в Facebook»: https://mysite-acs.accesscontrol.windows.net/

  • Страница, которая мне нравится, имеет правильные теги «og» и находится на незащищенной странице.

Есть ли способ заставить Facebook Like работать с ACS?

ОБНОВЛЕНИЕ: я нашел (временное) решение.

Я нашел обходной путь, который позволяет мне иметь несколько доменов приложений Facebook, но это определенно не идеальное решение. Обходной путь заключается в том, чтобы указать URL-адрес ACS и URL-адрес сайта в поле «Домены приложений». Затем в разделе «Веб-сайт с входом через Facebook» я ввел URL-адрес ACS в поле «URL-адрес сайта», затем в разделе «Мобильный Интернет» я ввел URL-адрес сайта в поле «URL-адрес мобильного сайта». Теперь ссылка на Facebook работает отлично, так как Facebook видит страницу на моем сайте. Я не собираюсь отмечать вопрос как решенный, пока не найду реальное решение, но, надеюсь, это поможет кому-то, если они застряли. Спасибо за ваши ответы. Очень признателен!


person Garth Heuchert    schedule 08.10.2012    source источник
comment
Вы добавили mysite.com в настройки доменов приложений для приложения FaceBook?   -  person astaykov    schedule 09.10.2012
comment
+1 Ваш вопрос ясен и лаконичен и показывает, что вы провели некоторое исследование, прежде чем задавать вопрос.   -  person JDB still remembers Monica    schedule 09.10.2012
comment
Я пытался добавить сайт в домены приложений, но получаю сообщение об ошибке: mysite.com должен быть получен из URL-адреса вашего сайта или URL-адреса вашего мобильного сайта.   -  person Garth Heuchert    schedule 09.10.2012


Ответы (1)


Здесь вам нужно использовать CNAME, чтобы указать на ваш сайт Azure, если это возможно. У вас есть конфликтующие домены, которые Facebook не разрешает. Вы можете либо добавить accesscontrol.windows.net в качестве своего домена в Facebook, либо настроить CNAME в своем DNS-провайдере, чтобы он указывал на accesscontrol.windows.net с «mysite.com».

Это ваши варианты.

Надеюсь это поможет!

person Joey Schluchter    schedule 09.10.2012