Сегодня мне сообщили, что когда пользователь зарегистрировался на моем веб-сайте с помощью Facebook, он был перенаправлен на учетную запись другого пользователя (если учетная запись существует, они перенаправлены для входа в систему), но его конкретной учетной записи пользователя не существовало, поэтому он должен был выпустить ошибку ниже. Это первый пользователь, который пожаловался на это.
Сценарий входа в систему довольно прост и понятен.
Кто-нибудь видит какие-либо проблемы с логикой этого кода или это может быть проблема Facebook?
Я довольно озадачен этим, так как он работает для всех остальных пользователей.
Буду признателен за любую оказанную помощь.
Спасибо.
Язык — это PHP и Code Igniter
вот код ..
public function signin_fb_check(){
$this->layout = FALSE;
$this->template = FALSE;
$check_exists_user = $this->User->row(array('conditions' => array_filter(array(
'email' => $this->ahrform->get('email')
))));
if(count($check_exists_user)>0){
$id = $check_exists_user->id;
$userid = $check_exists_user->id;
$this->ahruser->User('Login', $userid);
$session_token = uniqid();
$uinfo = array('token' => $session_token, 'userid' => $userid, 'user' => $check_exists_user);
$this->ahrsession->set('LoginInfoFront', $uinfo);
//if($check_exists_user->project_status ==2){
$redirect_to = site_url('users/campaign/dashboard');
//}else{
// $redirect_to = site_url('users/campaign/add');
if($check_exists_user->stripe_active == 0){
$this->email_template->send_mail('activation-request',$id);
}
exit(json_encode(array('status' => true, 'msg' => 'Account Detected', 'redirect_to' => $redirect_to)));
}else{
exit(json_encode(array('status' => false, 'msg' => 'Sorry, no account found.')));
}
}
public function login(){
$this->title_for_layout = 'Login';
}
Этот код не помогает вообще понять, что происходит. Как насчет эха текущего пользователя, который вошел в систему и имеет две учетные записи Facebook, сначала войдите в систему с первой учетной записью Facebook и выполните эхо, чтобы проверить, вошли ли вы в систему, а затем выйти из учетной записи Facebook из вашего приложения, затем сделайте эхо еще раз, чтобы увидеть, если кто-то вошел в систему, а затем попробуйте то же самое с другой учетной записью. скорее всего, сеанс выхода из системы не работает правильно. У меня была такая же проблема раньше. Если вы попробуете это, и он будет работать правильно для вас, то у человека, который вошел на ваш сайт с помощью Facebook, была другая учетная запись, которая была авторизована с его компьютера.
Других решений пока нет …