Я использую Ionic для создания системы входа в систему поверх Codeigniter/Ion_Auth/codeigniter-restclient, и когда я пытаюсь войти с "ионного сервера", логин работает, но следующий запрос api к методу logged_in() возвращает false.
То же самое работает правильно, когда я указываю браузер на папку www.
Итак, вот шаг за шагом:
-
запустить ионную службу
-
вы видите форму входа (http://localhost:8100/#/app/login)
-
введите адрес электронной почты и пройдите
-
остальное api возвращает "login successful"
-
$state.go('app.profile') работает и перенаправляется на http://localhost:8100/#/app/profile
-
REST get api/logged_in возвращает false и я перенаправляюсь на страницу входа
Если я сделаю то же самое в обычном браузере, шаг 1 станет: откройте браузер и перейдите в http://localhost:8888/App/www/#/app/login, на шаге 6 REST получите api/logged_in, возвращает true и я не перенаправляюсь на страницу входа в систему, я остаюсь на странице профиля.
Код тот же. Поэтому я предполагаю, что, возможно, ion_auth не получает файлы cookie, которые он хочет, или сеанс сбрасывается. На данный момент я не уверен, в чем проблема. Это мой первый проект Ionic/App, поэтому мне может не хватать что-то о правильном способе аутентификации из мобильного приложения с использованием кода, который работает в браузерах.
Спасибо
UPDATE: Похоже, что при использовании окна "ионного сервера" каждый запрос к API запускает новый сеанс. Новый сеанс хранится в базе данных, а ion_auth проверяет logged_in на последнем, который не содержит данных для входа.