如何为子域配置Facebook应用程序

bal*_*dre 7 configuration facebook facebook-authentication

我正在构建一个多租户应用程序,我正在努力将Facebook登录纳入Web应用程序.

例如,租户使用子域

http://tenant-1.domain.com/
http://tenant-2.domain.com/
http://tenant-3.domain.com/
Run Code Online (Sandbox Code Playgroud)

所以,我创建了一个应用程序,在添加网站时,如何让它在所有租户中都可用?就像是:

在此输入图像描述

但是,当然,这不起作用,如果我添加http://domain.com/它只是在http://tenant-1.domain.com/我点击<fb:button-login>我得到的时候不起作用:

在此输入图像描述

如何在不为每个租户创建特定FB应用程序的情况下执行此操作

我用这个来帮助人们订阅他们的帐户,我只想登录获取姓名和电子邮件,或者他们需要在名称和电子邮箱中贬低...

Mat*_*ton 4

这是不可能的,但有一些解决方法。我认为最好的方法可能是使用单个域来执行身份验证,指定为redirect_uri。在此redirect_uri 上,您可以附加一些查询参数,例如您的redirect_uri 可以是:

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

然后在 auth.php 的代码中,您将从查询字符串中获取此租户参数,对用户进行身份验证,存储其访问令牌,然后立即将其重定向回tenant-1.domain.com

我不确定此解决方案是否是您喜欢的解决方案,但目前无法指定子域进行身份验证,因此需要此或类似的解决方法。