2016-08-10 4 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 может восстановить свой Facebook и Twitter соединение, но не Google. Это код ошибки. Как его решить?

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

удачи вам!

Смежные вопросы