@EvilDev

Cordova, как авторизоваться на другом сервере?

Доброго времени суток.
Возникла задача написать мобильный клиент, но возникла проблема с авторизацией. Кросс-доменный запрос сделать получилось так:
.service('$request', function($q, $http, $ionicPopup, $localStorage) {
        return {
            post: function(r, postData, urlParams) {
                var defer = $q.defer(),
                    url = $localStorage.getObject('user').hostname + r + '?'
                        + _.values(_.mapObject(urlParams || {}, function(v,k) { return k + '=' + v; })).join('&');

                $http({
                    url: url,
                    method: "POST",
                    data: postData || {},
                    headers: {
                        'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
                    }
                }).then(function(result) {
                    if (!result.data.success) {
                        $ionicPopup.alert({
                            title: 'Ошибка',
                            template: result.data.error
                        });
                        defer.resolve(false);
                    }
                    else {
                        defer.resolve(result.data);
                    }
                });
...

Тут все работает и в случае неверного пароля, выводит ошибку. Если авторизоваться получается, переходим на dashboard и тут ошибка, при следующем запросе требует авторизацию. Посмотрел куки, там пусто, хотя должен быть идентификатор php сессии. Как правильно реализовать авторизацию с запоминанием кук?
PS Авторизацию по токенам сделать не получится.
  • Вопрос задан
  • 531 просмотр
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Авторизацию по токенам сделать не получится.

А придется. Ну или в куки пихайте токены, но это делает вас уязвимым к CSRF атакам, и что бы оградить себя от этого всеравно придется делать пересылку CSRF токенов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 18:59
2500 руб./за проект
03 мая 2024, в 18:52
15000 руб./за проект