Как настроить приложение Facebook для поддоменов

Я создаю мультитенантное приложение и изо всех сил пытаюсь включить в веб-приложение логин Facebook.

Арендаторы используют поддомен, например

http://tenant-1.domain.com/
http://tenant-2.domain.com/
http://tenant-3.domain.com/

Итак, я создал приложение, и когда нужно добавить сайт, как я могу сделать его доступным для всех арендаторов? Что-то вроде:

Но, конечно, это не работает, и если я добавлю только http://domain.com/ это не работает ни на http://tenant-1.domain.com/ как только я нажму на <fb:button-login> Я получил:

Как мне это сделать, не создавая отдельное приложение FB для каждого арендатора?

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

1 ответ

Решение

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

http://auth.domain.com/auth.php?tenant=tenant-1

Затем в коде для auth.php вы извлекаете этот параметр арендатора из строки запроса, аутентифицируете пользователя, сохраняете его токен доступа и затем немедленно перенаправляете его обратно в tenant-1.domain.com

Я не уверен, что это решение будет тем, что вы предпочитаете, но в настоящее время невозможно указать субдомены для аутентификации, поэтому этот или другой обходной путь необходим.

Другие вопросы по тегам