【问题标题】:How to manage Facebook connect in Drupal multisite?如何在 Drupal 多站点中管理 Facebook 连接?
【发布时间】:2015-04-29 10:15:47
【问题描述】:

我有一个 Drupal 多站点安装。这不是常见的多站点安装。长话短说:我有一个单一的数据库,一个单一的setting.php,主题的变化由模块ThemeKey根据站点域进行管理。 drupal 安装使两个站点使用不同的主题,我设法使用 Apache Server Alias 为它们拥有两个不同的域,因此我有两个站点 www.foo.com 和 www.bar.com。

现在我正在使用 FBOauth 模块管理 facebook 注册,该模块只允许输入一个 facebook 应用程序 ID。在第一个站点中,比如说 www.foo.com,facebook 注册工作完美,因为它与 fboauth 知道的 facebook 应用程序连接。在第二个站点 www.bar.com 中,注册不适用于 facebook 允许我向单个 facebook 应用程序添加只有 一个 域(或它的子域,情况并非如此)。我的意思是,在 facebook 应用程序中,我可以输入 www.foo.com,但不能输入 www.bar.com,所以如果我尝试从 www.bar.com 注册,facebook 会抛出“不允许域”错误。

我认为解决此问题的正确方法是为 www.bar.com 打开第二个 Facebook 应用程序,但 fbaouth 只允许我输入一个应用程序 ID。我该如何克服呢?

编辑:有两个变量 fboauth_id 和 fboauth_secret。覆盖这些解决了问题,但是我在setting.php中做不到,还有其他方法吗?

【问题讨论】:

  • 有了这样的设置,没有真正的“优雅”解决方案。
  • 也许吧!顺便说一句,这并不奇怪。在我在 fboauth 代码中修改的那一行,有一条评论说“//TODO 添加多站点支持”:) 他们正在考虑,但还没有开发。
  • “//TODO 添加多站点支持”——是的,可能是“真正的”多站点设置,但在 Drupal 术语中,这意味着每个站点都有自己的数据库和设置;但是正如您自己所说,您没有其中之一,而只是使用 ThemeKey 来“伪造”。
  • 并没有太大的不同。我需要同一个站点的两个“分支”,所以这是最合适的解决方案,我在一个安装上构建了两个站点,所以它是一个多站点。有完整的模块来管理这种情况:这并不罕见。

标签: php facebook drupal drupal-7


【解决方案1】:

原始解决方案:我解决了问题,修改了 fboauth 模块代码。我创建了两个函数:一个返回应用程序 ID,另一个返回应用程序密钥,具体取决于我所在的域。然后我替换了每个“variable_get('fboauth_id', '')”和“variable_get('fboauth_secret', ' ')" 在带有我自定义功能的模块文件中。它并不优雅,我仍然对更好的解决方案感兴趣。

function fboauth_get_app_id_depending_on_domain(){
  $server_name = ($_SERVER['SERVER_NAME']);
  $server_uri =($_SERVER['REQUEST_URI']); 
  if($server_name=='www.bar.com'){
     $app_id='1234567890';
  }else{
     $app_id=variable_get('fboauth_id', '');
  }
 return $app_id;
}

function fboauth_get_app_secret_depending_on_domain(){
 $server_name = ($_SERVER['SERVER_NAME']);
 $server_uri =($_SERVER['REQUEST_URI']); 
 if($server_name=='www.bar.com'){
      $app_secret='1234567890';
 }else{
     $app_secret=variable_get('fboauth_secret', '');
 }
 return $app_secret;
}

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多