* Если вы заинтересованы, пожалуйста, смотрите ответ от Foursquare по этому вопросу в качестве комментария к этому сообщению *
Пожалуйста, помогите, я все еще борюсь с этим: (
Я создал кнопку, которая удаляет все файлы cookie, связанные с Foursquare.
Проверено с Firebug, когда нажали, куки не установлены.
Также то же самое программирование удаляет токен, вставленный в базу данных.
когда пользователь впервые входит в систему. Проверяется в базе данных, строка
Исключен.
И вот что происходит:
- В новом браузере без файлов cookie пользователь входит в систему.
- Файлы cookie установлены, и в них вставлена строка с токеном и идентификатором пользователя.
база данных.
- Пользователь выходит из системы.
Файлы cookie сброшены и строка удалена из базы данных
Теперь другой пользователь хочет войти в систему. Он нажимает <a href='".$authorizeUrl."'>Log in</a>
в моем веб-приложении.
Отображается страница входа в Foursquare, НО, прежде чем он / она сможет заполнить форму
на странице перенаправляется обратно в мое веб-приложение с маркером предыдущего пользователя
и информация!
Единственный способ, которым я могу начать с чистого листа, без точки 6, это
удалив все куки из моего браузера вручную: (
Будут оценены любые идеи, я не знаю, куда им следовать.
Ниже кода, который я использую, попробуйте, вы увидите, как происходит шаг 6.
Спасибо за тонну
<?php
ob_start();
require_once('includes/EpiCurl.php');
require_once('includes/EpiSequence.php');
require_once('includes/EpiFoursquare.php');
$logout= $_GET['logout'];
if ($logout == 'true'){ /*I'm deleting all the cookies foursquare related just in case*/
$pastdate = mktime(0,0,0,1,1,1970);
setcookie ("XSESSIONID", "", time() - 18600);
setcookie ("access_token", "", time() - 18600);
setcookie ("ext_id", "", time() - 18600);
setcookie ("LOCATION", "", time() - 18600);
setcookie("access_token", "", $pastdate);
setcookie("XSESSIONID", "", $pastdate);
setcookie("ext_id", "", $pastdate);
setcookie("LOCATION", "", $pastdate);
setcookie("_chartbeat2", "", $pastdate);
setcookie("__utmb", "", $pastdate);
setcookie("__utmc", "", $pastdate);
setcookie("__utma", "", $pastdate);
setcookie("__utmz", "", $pastdate);
$_SESSION['XSESSIONID']=false;
unset($_SESSION['XSESSIONID']);
}
$clientId = "yyyyyyyyy";
$clientSecret = "xxxxx";
$redirectUrl = 'mypage.php';
$fsObjUnAuth = new EpiFoursquare($clientId, $clientSecret);
$thecode = $_GET['code'];
if(!isset($thecode) && !isset($_COOKIE['access_token'])) { //not in yet
$authorizeUrl = $fsObjUnAuth->getAuthorizeUrl($redirectUrl);
echo"<a href='".$authorizeUrl."'>Let's log in</a>";
}else{ /*we're in*/
if(!isset($_COOKIE['access_token'])) {
$token = $fsObjUnAuth->getAccessToken($thecode, $redirectUrl);
setcookie('access_token', $token->access_token);
$_COOKIE['access_token'] = $token->access_token;
}
$fsObjUnAuth->setAccessToken($_COOKIE['access_token']);
echo "we're in";
echo"<br><a href='mypage.php?logout=true'>Logout</a>";
}
?>