错误:在node.js服务器环境中成为用户是不安全的

我用过这个方法

Parse.User.become("session-token-here").then(function (user) { // The current user is now set to user. }, function (error) { // The token could not be validated. }); 

这个方法会callbackParsevalidation会话令牌并获取关联的用户,然后在客户端上设置当前用户,就像本网站上的解释http://blog.parse.com/announcements/bring-your-own-login/

这种方法是完美的工作,但我最近更新npmparsing1.5.0的最新版本,现在我得到了以下错误:

 Error: It is not secure to become a user on a node.js server environment. at Function.Parse.User.Parse.Object.extend.become (/home/... 

有人有这个问题的解决scheme?

提前致谢

我在Parse.User.become()方面遇到了很多问题,包括你提到的错误和返回101无效的用户会话。 我的解决方法是绕过JavaScript的SDK,并作出一个parsingREST API请求。

 var request = require("request"), q = require("q"), deferred = q.defer(), options = { url: "https://api.parse.com/1/users/me", method: "GET", json: true, headers: { "X-Parse-Session-Token": token, "X-Parse-Application-Id": "PARSE_APPLICATION_ID", "X-Parse-REST-API-Key": "PARSE_RESET_API_KEY" } }; request(options, function (error, response, body) { if (!error && response.statusCode == 200) { return deferred.resolve(user); } else { return deferred.reject(error); } }); return deferred.promise; 

跑到同一个问题。 虽然绕过Javascript SDK可能会工作,但似乎可以使用Parse.User.enableUnsafeCurrentUser()帮助绕过SDK中的这个错误。

在更改日志的Parse 1.5.0 Javascript SDK部分,他们提供了以下更新:

在node.js中运行时删除了当前用户的概念当前用户可以通过Parse.User.enableUnsafeCurrentUser()在节点中启用许多请求现在支持将显式会话标记作为选项

这种方法可能会有一些非预期的安全问题。 在阅读源代码时,这也将允许您也使用Parse.User.current和其他类似的function。 在pipe理自己的会话信息时,使用.become可能仍然是最安全的选项。