【问题标题】:How to configure a Facebook Application for sub domains如何为子域配置 Facebook 应用程序
【发布时间】:2011-09-09 12:55:15
【问题描述】:

我正在构建一个多租户应用程序,并且我正在努力将 Facebook 登录合并到 Web 应用程序中。

租户正在使用例如子域

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 应用程序?

我正在使用它来帮助人们订阅他们的帐户,我只是希望登录获得姓名和电子邮件,或者他们需要将其放在姓名和电子邮件框中...

【问题讨论】:

    标签: facebook configuration facebook-authentication


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 不完全是我想要的:(会尝试别的。
    • 实际上,如果您在应用程序域中包含 http://,这似乎确实有效。查看此答案以获取更多信息 - stackoverflow.com/questions/11932191/… 这确实意味着您必须为每个应用程序拥有不同的子域!
    猜你喜欢
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2018-07-06
    • 2014-08-10
    • 2014-12-21
    • 2013-01-21
    • 1970-01-01
    相关资源
    最近更新 更多