正如许多人所指出的那样,HybridAuth 文档非常缺乏,因此我很难找到在尝试的 Auth 序列期间处理过期令牌的正确方法。我的代码目前是:
try {
$provider = /* Provider Object in our system */
// Initialize HybridAuth
$client = new Hybrid_Auth($provider->get_config());
// try to authenticate with the selected provider
$adapter = $client->authenticate( $provider->name );
// then grab the user profile
/* @var $user_profile Hybrid_User_Profile */
$user_profile = $adapter->getUserProfile();
} catch( Exception $e ) {
$user_profile = NULL;
$adapter->logout();
}
如果会话由于某种原因在我们结束时仍然处于活动状态,但令牌在提供程序处已过期,则$user_profile = $adapter->getUserProfile();
之前的行catch
会抛出预期的异常(尽管错误消息缺少一些非常重要的信息并且有些误导)。
我能够在另一个线程中找到(很抱歉我找不到,如果您知道示例,请随时在链接中编辑)我需要指示 HybridAuth 使用该$adapter->logout();
方法忘记令牌信息.
所以现在怎么办?我应该重定向,如果是这样,什么地址?这里的最佳做法是什么?
任何见解将不胜感激!