parse-server user.signUp() не создает сеанс

Окружающая среда:

  1. Node.js 7.2
  2. парсер-сервер 2.2.25

В нашем облачном коде у нас возникает проблема с вызовом Parse.User signup(), который не создает sessionToken для пользовательского почтового вызова, когда мы включили параметр PARSE_SERVER_ENABLE_EXPERIMENTAL_DIRECT_ACCESS.

Это работает:

Parse.Cloud.useMasterKey();

var user = new Parse.User();
user.set('username', form_data.userEmail);   
user.set('email', form_data.userEmail); 

user.signUp().then(function(user) {
  // Valid Session Token
  var sessionToken = user.getSessionToken();
});

Так как мы должны рефакторить все вызовы Parse.Cloud.useMasterKey() и передать его как опцию, мы устанавливаем PARSE_SERVER_ENABLE_EXPERIMENTAL_DIRECT_ACCESS=1 и рефакторим к этому, и теперь это терпит неудачу:

var user = new Parse.User();
user.set('username', form_data.userEmail);   
user.set('email', form_data.userEmail); 

user.signUp(null, {useMasterKey: true}).then(function(user) {
  // sessionToken = undefined
  var sessionToken = user.getSessionToken();
});

Мы подумали, что, возможно, для getSessionToken также требуется параметр useMasterKey, но это неясно.


person listing boat    schedule 30.11.2016    source источник


Ответы (1)


Я разместил это на github, так как думал, что это ошибка. На самом деле это ожидаемое поведение. См.: Обсуждение Github

Наша конфигурация не является стандартным способом использования Parse. Это веб-приложение Node.js, которое выполняет ajax-вызовы облачного кода. Облачный код выполняет вызовы Javascript API к Parse. Это означает, что у нас нет объекта установки или идентификаторов установки.

Решение, поскольку мы не могли автоматически войти в систему с помощью signUp, состоит в том, чтобы вызвать Parse.User.login в ответе signUp.

person listing boat    schedule 01.12.2016