Я думаю, что у меня очень простая проблема. В настоящее время я работаю над API, и, прежде чем вы сможете его использовать, вам нужно войти в систему. Вход в систему осуществляется через HTTP-запрос, поэтому для входа в систему вы получите доступ
http://myapi.com/login.php?email=mail@mail.com&password
например.
Когда почта и пароль верны, я устанавливаю некоторые переменные сеанса, и я запускаю сеанс:
session_start(); $_SESSION['idUser'] = $row['id']; $_SESSION['email'] = $row['email']; print(json_encode(array("authenticated" => true)));
Однако, когда я обращаюсь к api, и я делаю запрос (не login) cURL с моего терминала, он говорит, что я не авторизовался, а я сначала выполнил запрос на вход. При каждом вызове api на другой странице я проверяю переменные сеанса. Если они установлены, пользователь вошел в систему:
function checkSession() { session_start(); if(!isset($_SESSION['idUser']) || !isset($_SESSION['email'])) { print json_encode(array("error" => "Not authorized")); exit(); } }
Почему это говорит, что я не авторизовался? Когда я просматриваю страницы из веб-браузера, все работает нормально.
Благодаря!