在parse.com上的会话上是否有额外的安全层?

时间:2016-01-09 02:32:12

标签: session parse-platform cloud

我正在尝试将所有设备的登录次数限制为1。 我的方法是在登录时调用云功能来检索号码 该用户的活动会话并返回结果。 如果结果大于1,则提示用户

  • 在其他设备或
  • 注销
  • 取消登录

问题是云功能总是返回一个空对象。

注意:如果启用“equalTo”行并不重要,则结果始终为空。如果我用另一个类测试代码,它就可以工作。

Parse.Cloud.define("findSessions", function(request, response) {
  Parse.Cloud.useMasterKey();

  var SessionClass = Parse.Object.extend("Session");
  var query = new Parse.Query(SessionClass);
  query.equalTo("user", request.user);

  query.find({
      success: function(results) {
          response.success({"count": results.length})
      },
      error: function(error) {
          response.error(error)
      }
  });
});

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

当然,在发布我的问题后10分钟,我找到了解决方案(之前花了几个小时没有成功)。

诀窍是Session是它自己的类。我替换的那一刻

var query = new Parse.Query(SessionClass);

Parse.Query(Parse.Session);
一切正常。

另一个好方法:删除行

Parse.Cloud.useMasterKey();

我已经只获得了我可以访问的会话。不需要过滤器。

希望能帮助有类似问题的人。