1

正如许多人所指出的那样,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();方法忘记令牌信息.

所以现在怎么办?我应该重定向,如果是这样,什么地址?这里的最佳做法是什么?

任何见解将不胜感激!

4

0 回答 0