[英]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.