我已经用HybridAuth做了登录脚本。我在我的网站上登录了“提供者”Facebook,Google,Twitter。当PHP会话超时时,我想恢复我连接的“提供者”。
我使用以下代码:
$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发布于 2016-10-26 15:34:23
我也有这个问题,
它可以通过使用"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();
}
}祝你好运!
https://stackoverflow.com/questions/38876888
复制相似问题