用户getSessionToken()返回未定义

时间:2015-04-02 05:35:23

标签: javascript parse-platform

我正在尝试使用电话号码验证为Parse创建登录流程。想法是iOS应用程序的用户输入他们的电话号码,通过短信接收代码,然后输入该代码进行登录。无需电子邮件/用户名/密码。

关键部分是获取会话令牌,然后使用become方法。这是我的(缩写,不包括代码验证)云代码:

Parse.Cloud.define('signInUser', function(request, response) {
  Parse.Cloud.useMasterKey();
  var phone = request.params.phone;
  var verificationCode = request.params.verificationCode;
  var query = new Parse.Query(Parse.User);
  query.equalTo('phone',  phone)
  query.first().then(function(user) {
    if (!user) {
      response.error('User does not exist');
    }

    var token = user.getSessionToken();
    console.log("Token: " + token);
    response.success('Token: ' + token);
   })
})

token始终以undefined返回。根据文档,使用Parse.Cloud.useMasterKey()应该允许我完成我想要做的但是它不起作用。

1 个答案:

答案 0 :(得分:0)

尝试直接在查询中使用主密钥:

query.first({ useMasterKey: true }).then(...);