在註冊頁面中,我讓用戶選擇填寫大部分字段,讓他通過臉書登錄到我的網站,以便我可以訪問他的數據,然後填寫一些其他領域,然後註冊到我的網站。註冊並使用臉書登錄
在登錄頁面上,用戶可以選擇使用用戶名和密碼登錄,或使用他們之前註冊的Facebook帳戶登錄。
在登錄頁上我有這樣的代碼:
if ($user){
try {
$loggedin= true;
$user_profile = $facebook->api('/me','GET');
$login_url = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream,read_friendlists,email'
)
);
if(email_exists($user_profile['email'])){
$user = get_user_by('email', $user_profile['email']);
wp_set_auth_cookie($user->id);
wp_redirect(site_url()); exit;
}else{
wp_redirect(site_url('/register/')); exit;
}
} catch (FacebookApiException $e) {
$login_url = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream,read_friendlists,email'
)
);
$loggedin= false;
error_log($e->getType());
error_log($e->getMessage());
}
}else{
$login_url = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream,read_friendlists,email'
)
);
$loggedin= false;
}
因此,如果用戶與Facebook登錄,代碼檢查,如果他是一個成員,如果是他的身份驗證和重定向到主頁,如果電子郵件不存在,他應該被重定向到註冊頁面。
問題是,如果用戶使用Facebook登錄到註冊頁面,登錄頁面代碼會將其識別爲登錄用戶,並且如果他是會員,則會授予他訪問權限,如果他不是會員,但是如果用戶想用另一個帳戶登錄怎麼辦?
我需要做的是在登錄頁面中終止訪問令牌,以便他可以用他的Facebook賬戶重新登錄。那可能嗎?