如何根据hybridauth中的某些条件禁用fb登录



如何根据某些条件禁用FB登录。例如,如果时间在凌晨2点到4点之间,请禁用facebook登录(只是一个例子)。我的问题不在于条件的逻辑,我当然可以应用它。但我的问题是,一旦满足条件,如何在hybridauth 中以编程方式禁用fb登录

提前感谢

Ps。你可能想看看这里的代码:https://github.com/hybridauth/hybridauth

http://hybridauth.sourceforge.net/

从文档中我们可以看到这个条目;

enabled可以是truefalse;如果您不想使用特定的提供程序,请将其设置为false

如果打开hybridauth/config.php,您将看到一个配置数组,其中包含不同身份验证方法的配置。最有趣的是,我们可以看到一个名为enabled的密钥,我们可以对其进行操作。

直接修改值

我们可以使用三元运算符直接修改值。例如

...
"Facebook" => array ( 
                "enabled" => (condition ? true : false), //Ternary operator modifying `enabled` value.
                "keys"    => array ( "id" => "", "secret" => "" ),
                "trustForwarded" => false
            ),
....

但是,我们可以通过在加载配置后对其进行修改来实现这一点。

稍后修改该值

如果您打开examples/social_hub/login.php,您会看到我们加载了配置文件并使用它。这里是我们可以修改enabled密钥的地方。

配置保存在变量$config中,因此;

if( condition ) {
  $config['providers']['Facebook']['enabled'] = FALSE;
}

在您的超级简化示例中,您可以添加逻辑来动态构建配置数组,然后将其注入您的hybridauth实例中。这可以通过在标准配置数组中加载,然后根据您拥有的任何业务逻辑规则进行操作来实现。

您总是可以扩展Hybridauth,但对于您提供的相对简单的示例来说,这似乎有些过头了。

相关内容

  • 没有找到相关文章

最新更新