Всем привет!
Возникла такая проблема.
Пытаюсь авторизовать пользователя по аяксу:
<?php
function logInUser($uid) {
global $user;
$user = user_load($uid);
$login_array = array('name' => $user->name);
user_login_finalize($login_array);
}
?>
В массив передаю id существующего пользователя.
При вызове через аякс ошибок нет, в журнале появляется "Сессия для user открыта." и пользователь указан user.
Однако, пользователь не авторизован.
Если проделать всё то же самое без аякса (при открытии страницы) - атворизация проходит успешно.
Не могу понять, в чём проблема и почему пользователь не авторизовывается.
Кто-нибудь с таким сталкивался?
Комментарии
что возвращается в ответ на аякс запрос? куки прилетают?
посмотрите вкладку Network в хроме и этот конкретный запрос, чтобы быть уверенным
В данный момент я ничего не возвращаю, но если поставить условие на
- выдаст false. Куки не приходят, но я зашёл под админом - кук никаких тоже не обнаружил, связаных с авторизацией. Может быть при авторизации принудительно в куку записывать значение?
В заголовок запроса надо добавить withCredentials: true, иначе куки будут проигнорированы.
Не помогло - сделал через xhrFields:{withCredentials: true} - не сработало