Сервер синтаксического анализа, требующий выхода/входа в систему при каждом развертывании. Сессия уничтожается?

Описание проблемы

Перенесено с Parse.com на Parse Server (хостинг Sashido). Всякий раз, когда я развертывал свой облачный код, мне приходилось выходить и входить в клиентское приложение (iOS), чтобы получить результаты. Без повторного входа в систему я получаю пустые результаты. Токен сеанса на стороне клиента совпадает с DB. Мой request.user печатает правильно. Только запросы не работают, нет ошибок сеанса, но пустые результаты (массив или объект). Это происходит со всеми запросами, и на платформе Parse.com все работало нормально. У меня есть ACL, определенные для каждой строки, и ACL в request.user также верен, но все еще безрезультатно.

Действия по воспроизведению

iOS-код клиента

 let configuration = ParseClientConfiguration {
    $0.applicationId = PARSE_APPLICATION_ID
    $0.clientKey = PARSE_CLIENT_KEY
    $0.server = PARSE_SERVER_URL
    $0.localDatastoreEnabled = true
}
Parse.initializeWithConfiguration(configuration)
PFUser.enableRevocableSessionInBackground()

Сервер

Parse.Cloud.define("getPastWalks", function(request, response) {
    console.info("user:: " + JSON.stringify(request.user) + JSON.stringify(request.params));
    var fromDate = request.params.fromDate;
    var toDate = request.params.toDate;

    var walk = Parse.Object.extend("Walk");
    var pastWalksQuery = new Parse.Query(walk);
    pastWalksQuery.greaterThanOrEqualTo("dateAndTime", fromDate);
    pastWalksQuery.lessThanOrEqualTo("dateAndTime", toDate);
    pastWalksQuery.descending("dateAndTime");
    pastWalksQuery.include("service");
    pastWalksQuery.limit(request.params.limit);
    pastWalksQuery.find().then(function(walks) {
        console.info("past walk:: " + JSON.stringify(walks));
        response.success(walks);
    }, function(error) {
        response.error(error);
    })
});

Ожидаемые результаты

Вышеприведенный код должен получить «все прогулки для этого конкретного request.user».

Фактический результат

Но я получаю пустой массив. Когда я выхожу из системы и вхожу в систему, создается новый токен сеанса, и он работает. Без повторной регистрации, без ошибок токена сеанса, только пустой массив.

Настройка среды

  • Сервер

    • parse-server version : 2.2.25-1
    • Локальный или удаленный сервер? : Хостинг Сашидо
  • База данных

    • MongoDB version: -
    • Локальный или удаленный сервер? : Хостинг Сашидо

person Praveen    schedule 01.02.2017    source источник


Ответы (1)


Мне пришлось передать sessionToken в запросе

pastWalksQuery.find({sessionToken: request.user.getSessionToken()})

https://github.com/ParsePlatform/parse-server/issues/3456

person Praveen    schedule 21.03.2017