在Laravel 5中使用HybridAuth错误无法声明类Hybrid

我正试图在laravel 5.3中实现Google登录。 我使用作曲家安装了hybridauth: composer require hybridauth/hybridauth

但是,首先我得到了错误:

“未找到类Hybrid_Auth”

所以我添加了一个名称namespace Hybridauth;名称namespace Hybridauth; 到Hybridauth中的每个类(项目中的路径:vendor / hybridauth / hybridauth / hybridauth / Hybrid),并使用Hybridauth Hybrid_Auth将其包含在我的控制器中; 但是现在我得到这个错误:

Auth.php第16行中的FatalErrorException:“无法声明类Hybridauth Hybrid_Auth,因为名称已在使用中”

尽管我已经搜索了整个项目,但Hybrid_Auth类只声明了一次。

这是我的控制器:

<?php
    namespace AppHttpControllers;
    use IlluminateHttpRequest;
    use HybridauthHybrid_Auth;

    class AuthController extends Controller
    {
        public function googleLogin($auth=null)
        {
          if($auth == 'auth')
          {
              try
              {
                  Hybrid_Endpoint::process();
              }
              catch(Exception $e)
              {
                  return Redirect::to('googleAuth');
              }
              return;
          }
          $config = array(
          "base_url" => "localhost:8000/gauth",
          "providers" => array (
            "Google" => array (
              "enabled" => true,
              "keys"    => array ( "id" => "googleIdGoeshEre", "secret" => "googleSecretKeyGoeshEre" ),
              "scope"           => "https://www.googleapis.com/auth/userinfo.profile ". // optional
                                   "https://www.googleapis.com/auth/userinfo.email"   , // optional
              "access_type"     => "offline",   // optional
              "approval_prompt" => "force",     // optional
              "hd"              => "domain.com" // optional
        )));
          $oauth = new Hybrid_Auth($config);
          $provider = $oauth->authenticate("Google");
          $profile = $provider->getUserProfile();
          return var_dump($profile).'<br><a href="logout">Logout</a>';
    }
    }
?>

所以我添加了一个名称空间名称空间Hybridauth; 到Hybridauth中的每个类(项目中的路径:vendor / hybridauth / hybridauth / hybridauth / Hybrid)

vendor文件夹中编辑文件不是一个好主意,因为当您执行composer update这些文件将会更新,然后您必须再次编辑。

我建议你删除你在供应商文件夹中添加的命名空间。 并添加use Hybrid_Auth; 在控制器中

确保你包含了混合认证。 require_once( "/path/to/hybridauth/Hybrid/Auth.php");

链接地址: http://www.djcxy.com/p/88649.html

上一篇: Using HybridAuth in Laravel 5 Error Cannot declare class Hybrid

下一篇: Can't load a Non