Php 缺少重定向uri参数&;使用hybridauth时授予类型无效

Php 缺少重定向uri参数&;使用hybridauth时授予类型无效,php,hybridauth,Php,Hybridauth,我在我的谷歌项目和facebook上的登台应用程序中设置了一些凭据,使用每个凭据的正确凭据,并在我的php应用程序中使用Hybridauth,我不断收到facebook的“缺少重定向uri参数”错误和google的“无效授权类型”错误。在我的本地设置中,使用谷歌和facebook的不同凭据集都能完美地工作。当我交换凭证并上传到登台服务器时,我才发现这个问题。任何帮助都很好,谢谢你 class HybridAuth { /** * @return

我在我的谷歌项目和facebook上的登台应用程序中设置了一些凭据,使用每个凭据的正确凭据,并在我的php应用程序中使用Hybridauth,我不断收到facebook的“缺少重定向uri参数”错误和google的“无效授权类型”错误。在我的本地设置中,使用谷歌和facebook的不同凭据集都能完美地工作。当我交换凭证并上传到登台服务器时,我才发现这个问题。任何帮助都很好,谢谢你

      class HybridAuth {    

    /**
     * @return
     */

    public function getUserProfile($platform = 'facebook', $withBooking = false) {
      $withBooking = ($withBooking) ? '&withBooking=true' : '';
      $config = [ 'callback' => config('app.url.fullyQualifiedDomain') . '/auth/social-login?platform=' . $platform . $withBooking,
                    'keys'  => ['id' => config('vendors.' . $platform . '.keys.appId'),
                                  'secret' => config('vendors.' . $platform . '.keys.appSecret')]];

      $hybridauth = $this->$platform($config);

      try {
        $hybridauth->authenticate();
        $isConnected = $hybridauth->isConnected();        
        if($isConnected){
          $userProfile = $hybridauth->getUserProfile();
          $hybridauth->disconnect();
          return $userProfile;
        }
        return false;
      } catch(\Exception $e) {
        trigger_error(get_class($e) . ': ' . $e->getMessage() . '<br /><br />' . $e->getTraceAsString(), E_USER_ERROR);
      }
    }


    private function facebook($config) {
      return new \Hybridauth\Provider\Facebook($config);
    }


    private function google($config) {
      return new \Hybridauth\Provider\Google($config);
    }
  }
类HybridAuth{ /** *@返回 */ 公共函数getUserProfile($platform='facebook',$withBooking=false){ $withBooking=($withBooking)?“&withBooking=true”:”; $config=['callback'=>config('app.url.fullyQualifiedDomain')。/auth/sociallogin?platform='.$platform.$withBooking, 'keys'=>['id'=>config('vendors.'.$platform.'.keys.appId'), 'secret'=>config('vendors.'.$platform.'.keys.appSecret')]]; $hybridauth=$this->$platform($config); 试一试{ $hybridauth->authenticate(); $isConnected=$hybridauth->isConnected(); 如果($未连接){ $userProfile=$hybridauth->getUserProfile(); $hybridauth->disconnect(); 返回$userProfile; } 返回false; }捕获(\异常$e){ 触发器错误(get_类($e)。':'。$e->getMessage()。

。$e->GetTraceAssString(),e_用户错误); } } 私有函数facebook($config){ 返回new\Hybridauth\Provider\Facebook($config); } 私有函数google($config){ 返回new\Hybridauth\Provider\Google($config); } }
此返回是否正确?config('app.url.fullyQualifiedDomain')如果不匹配,则url将与身份验证提供程序设置的内容不匹配,并且您需要在配置中设置一个作用域,是的。这个精确的代码在本地环境中运行良好,其中唯一的区别是返回域、密钥和机密。作用域是可选的&因为我只需要基础知识,所以不需要设置它。我刚在Hybridauth中把curl换成Guzzle,现在一切都正常了。