簡體   English   中英

PHP HybridAuth:如何重定向到所選社交網絡的“允許”頁面?

[英]PHP HybridAuth: How to redirect to the “Allow” page of the selected social network?

當我需要將“我的本地數據庫中的未注冊用戶”重定向到所選的社交網絡時,HybridAuth出現了一些問題:facebook,twitter,windows live,linkedin,openid等,更主要地是“允許” ”和“取消”頁面!

到現在為止,我正在執行以下代碼:

try {
    // $via for instance can be: Twitter, Facebook, etc
    $hybridauth = new Hybrid_Auth( $myConfig );
    $via = ucfirst($via);
    $adapter = $hybridauth->authenticate( $via ); // from this line some redirecting accoures

    if( $hybridauth->isConnectedWith( $via ) ){
        $user = $hybridauth->authenticate($via)->getUserProfile();
    }

    $profile = Users::model()->findByAttributes(array(
        'networkName' => $via,
        'networkId' => $user->identifier,
    ));

    if(!is_null($profile)) {
        // do a login
    } else {
        // do a registration + login
    }
} catch(Exception $e) {
    echo "Error: please try again!";
    echo "Original error message: " . $e->getMessage();
    die();
}

我希望我已經闡明了我的觀點。 感謝您提供的所有協助!

我要做的方法是將提供程序和提供程序標識符存儲在數據庫中,這似乎也是您實現的方法。

如果用戶不存在,則創建它,然后將用戶重定向到用戶配置文件編輯器。 否則,我只是重定向到主頁或儀表板。

提供者數據具有用於創建基本配置文件的所有必填字段。 如果您還需要其他內容,請將用戶重定向到帶有表單的頁面,以便他完成注冊。 將您需要的其他任何內容存儲在SESSION或類似內容中。 您可以使用$ hybridauth-> restoreSessionData($ _ SESSION ['HYBRID'])來保持會話繼續進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM