首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hybridauth -无法恢复google登录

hybridauth -无法恢复google登录
EN

Stack Overflow用户
提问于 2016-08-10 22:54:10
回答 1查看 690关注 0票数 0

我已经用HybridAuth做了登录脚本。我在我的网站上登录了“提供者”Facebook,Google,Twitter。当PHP会话超时时,我想恢复我连接的“提供者”。

我使用以下代码:

代码语言:javascript
复制
    $connected_adapters_list = $hybridauth->getConnectedProviders(); 
          if( count( $connected_adapters_list ) ){
                foreach( $connected_adapters_list as $adapter_id ){
                    echo  $adapter_id . "<br>";
          }
    }

HybridAuth可以恢复我的Facebook和Twitter连接,但不能恢复Google。这是代码错误输出。如何解决?

代码语言:javascript
复制
Ooophs, we got an error: User profile request failed! Google returned an invalid response:stdClass::__set_state(array( 'error' => stdClass::__set_state(array( 'errors' => array ( 0 => stdClass::__set_state(array( 'domain' => 'global', 'reason' => 'authError', 'message' => 'Invalid Credentials', 'locationType' => 'header', 'location' => 'Authorization', )), ), 'code' => 401, 'message' => 'Invalid Credentials', )), )) Error code: 6
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-26 15:34:23

我也有这个问题,

它可以通过使用"logoutAllProviders()“函数来解决

代码如下:

代码语言:javascript
复制
   try{
       $hybridauth = new Hybrid_Auth( $config );

        $adapter = $hybridauth->authenticate( "Google" );
        $user_profile = $adapter->getUserProfile();

   }
   catch( Exception $e ){
        $hybridauth->logoutAllProviders();
        $hybridauth = new Hybrid_Auth( $config );          
        $adapter = $hybridauth->authenticate( "Google" );
        $user_profile = $adapter->getUserProfile();
   }
}

祝你好运!

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

https://stackoverflow.com/questions/38876888

复制
相关文章

相似问题

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