2016-08-10 13 views
0

HybridAuthでログインスクリプトを作成しました。私はFacebook、Google、Twitterの "プロバイダ"で自分のウェブサイトにログインしています。 PHPセッションがタイムアウトすると、接続している "プロバイダ"を復元したいと思います。hybridauth - Googleログインを復元できません

$connected_adapters_list = $hybridauth->getConnectedProviders(); 
      if(count($connected_adapters_list)){ 
       foreach($connected_adapters_list as $adapter_id){ 
        echo $adapter_id . "<br>"; 
      } 
    } 

HybridAuthがGoogleに自分のFacebookやTwitterの接続を復元することはできませんが、:

私はこのコードを使用します。これはコードエラー出力です。どのようにそれを解決するには?

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 

答えて

2

私もそれを使用することによってslovedすることができ

この問題は、 "logoutAllProvidersを()" 機能を持ってい

コードがある:あなたのための

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(); 
    } 
} 

幸運!

関連する問題