2013-05-07 2 views
9

Мое веб-приложение развернуто на производственный сайт, но мне также необходимо выполнить локальную разработку. Кроме того, у меня есть несколько тестовых серверов, где я выполняю различные тестовые действия. Я хотел бы указать все эти URI для Facebook OAuth2. С Google OAuth2 нет проблем: я могу указать столько URI перенаправления, сколько мне нужно.Укажите множественные URI перенаправления для facebook OAuth2

Возможно ли это с Facebook? Как? Я использую опцию «Веб-сайт с Facebook» для интеграции с Facebook.

В настоящее время я получаю:

{ 
    error: { 
     message: "Invalid redirect_uri: Given URL is not allowed by the Application configuration.", 
     type: "OAuthException", 
     code: 191 
    } 
} 

ответ

1

Вам придется вместо создавать различные приложения для различных вариантов использования согласно вашему требованию. Это одно странное ограничение, с которым вам придется иметь дело.

Хотя неродственный, но Heroku (являющийся партнером поставщика облачных услуг) Getting Started Guide для Facebook предлагает такую ​​же работу для working locally с приложением вместе с разработкой.

+2

Этот ответ, вероятно, устарел, работает ответ от @ben о «Действительных URI перенаправления OAuth» (см. Первый комментарий в этом ответе для получения более подробных инструкций). – neonstalwart

28

Я не уверен, когда они добавили это, но я только что открыл поле «Valid UAuth redirect URIs» в настройках «Дополнительно» моего приложения Facebook. Я просто положил http://localhost туда и, похоже, разрешил перенаправление на любой URI на моем локальном хосте. Нет дубликатов приложений!

+4

Дополнительная информация: https://developers.facebook.com/docs/facebook-login/security/ - содержит: «** Если возможно, укажите белый список URL-адресов перенаправления OAuth. ** Укажите исчерпывающий набор URL-адресов приложений, которые единственные действительные URL-адреса переадресации для вашего приложения для возврата токенов доступа и кодов из потока OAuth.Этот параметр находится в разделе «Настройки»> «Дополнительно»> «Безопасность». Если вы оставите этот параметр пустым, любой URL-адрес в доменах приложения может получать токены доступа OAuth - это делает приложение уязвимым для кражи доступа к токену, если в домене приложения есть открытые переадресации или уязвимости XSS ». –

+2

Я могу подтвердить, что это работает и для меня. Теперь вы можете использовать одно и то же приложение facebook для живых и локальных URL-адресов, используя эту новую настройку. –

+1

Я искал способ, чтобы я мог отключить функцию «Действительные URI перенаправления OAuth», чтобы facebook позволял мне использовать любые имена доменов при использовании приложения facebook для интеграции функции входа в facebook. – Phantom007