首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hybridauth + composer:如何添加自定义提供程序

Hybridauth + composer:如何添加自定义提供程序
EN

Stack Overflow用户
提问于 2017-04-21 04:32:06
回答 1查看 704关注 0票数 0

我正在将一个php项目转换为使用composer作为依赖管理器。

依赖项是通过我的主脚本中的这一行加载的。

require 'vendor/autoload.php';

其中一个依赖项是杂交身份验证(2.9版)。因为使用Composer,所以在查找自定义提供程序文件时,它会抛出“file not file”错误。

例如,我的主控制器像这样调用混合:

代码语言:javascript
复制
$config_file_path = dirname(__FILE__) .'/hybridauth/config.php';
$hybridauth = new Hybrid_Auth( $config_file_path );

现在,这是配置文件。我使用的提供者是"Facebooktest“。请注意,我必须通过包装器;数组键指定路径才能获得下一条错误消息。

代码语言:javascript
复制
return
array(
    "base_url" => WWWROOT."/auth",
    "providers" => array(
        "Facebook" => array(
            "enabled" => true,
            "keys" => array("id" => "xxxxxxx", "secret" => "xxxxxxxx"),
            "scope" => "email",
            "trustForwarded" => false
        ),
        "Facebooktest" => array(
            "enabled" => true,
            "keys" => array("id" => "xxxxxxx", "secret" => "xxxxxx"),
            "scope" => "email",
            "trustForwarded" => false,
            "wrapper"=> array(
                "class"=>'Hybrid_Providers_Facebooktest',
                "path"=> './controllers/hybridauth/Hybrid/Providers/Facebooktest.php'
            )
        )
    ),
    "debug_mode" => false,
    "debug_file" => "",
);

错误消息(带跟踪):

代码语言:javascript
复制
require_once(/path/to/composer-project/vendor/hybridauth/hybridauth/hybridauth/Hybrid/thirdparty/Facebook/autoload.php): failed to open stream: No such file or directory

[vendor/bcosca/fatfree/lib/base.php:2174] Base->error()
[controllers/hybridauth/Hybrid/Providers/Facebooktest.php:61] Base->{closure}()
[controllers/hybridauth/Hybrid/Providers/Facebooktest.php:61] require_once()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Provider_Model.php:99] Hybrid_Providers_Facebooktest->initialize()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Provider_Adapter.php:101] Hybrid_Provider_Model->__construct()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Auth.php:278] Hybrid_Provider_Adapter->factory()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Auth.php:230] Hybrid_Auth::setup()
[controllers/auth-action.get.php:19] Hybrid_Auth::authenticate()

我发现奇怪的是,我现在需要修改“供应商/杂交验证/”项目中的路径。它违背了使用依赖项管理器的目的。当然,我一定是做错了。你能给点建议吗?

EN

回答 1

Stack Overflow用户

发布于 2017-04-26 10:13:32

Check my answer to another question here如果你最近通过composer安装了Hybridauth,你可能已经下载了v2.9.2,它的Facebook类中包含一个bug,替换了从你的到杂交认证/供应商的供应商路径,导致了这样的问题。

我怀疑你通过复制他们的Facebook类来创建Facebooktest类,因此导致了这个错误。或者更新到他们的dev分支并复制Facebook类,或者简单地使用其他provider类作为自定义provider类的模板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43529383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档