【发布时间】:2017-04-28 10:56:55
【问题描述】:
当我的会话令牌存在于我遇到此问题的 _Session 表中时,我遇到了无效会话令牌(代码:209)问题。 通常当会话令牌在数据库中不存在时会出现此错误,我只是提出请求,但在我的情况下,当会话令牌存在于数据库中时,我遇到了这个问题。 我只是在共享出现此错误的云代码。
main.js :-
Parse.Cloud.define("ping", function (req, res) {
try {
if (req.user !== undefined) {
var userId = req.params.hasOwnProperty(GameConstants.USER_ID) && req.params.user_id !== "" ? req.params.user_id : req.user.get("username");
LoginHelper.updateUserSessionEndDateTime(userId, function (error, status) {
if (error) {
res.success({result: 0, custom_error_code: error.code, custom_error_message: error.message}); //Getting the error in this block :- {"result":0,"custom_error_code":209,"custom_error_message":"invalid session token"}
//custom log
logger.info(JSON.stringify({result: 0, custom_error_code: error.code, custom_error_message: error.message, req: req}));
} else if (status === 0) {
res.success({result: 0, custom_error_code: CustomErrorCode.INVALID_USER_ERROR, custom_error_message: "Inavalid user"});
//custom log
logger.info(JSON.stringify({result: 0, custom_error_code: error.code, custom_error_message: error.message, req: req}));
} else {
res.success({result: 1});
//CommonHelper.recordBuyerSessionData(userId);
}
});
} else {
res.success({result: 0, custom_error_code: CustomErrorCode.INVALID_USER_ERROR, custom_error_message: "Inavalid user"});
//custom log
logger.info(JSON.stringify({result: 0, custom_error_code: CustomErrorCode.INVALID_USER_ERROR, custom_error_message: "Inavalid user", req: req}));
}
} catch (e) {
res.success({result: 0, custom_error_code: e.code, custom_error_message: e.message, stacktrace: e.stack});
//custom log
logger.info(JSON.stringify({result: 0, custom_error_code: e.code, custom_error_message: e.message, stacktrace: e.stack, req: req}));
}
});
LoginHelper.js :-
updateUserSessionEndDateTime: function (userId, callback) {
var query = new Parse.Query(Parse.Object.extend(GameConstants.GAME_USERS));
query.select("session_end_date_time");
query.equalTo(GameConstants.OBJECT_ID, userId);
query.first({
success: function (gameUser) {
if (typeof gameUser !== "undefined") {
//console.log("updateUserSessionEndDateTime data===========> " + JSON.stringify(gameUser));
gameUser.set(GameConstants.SESSION_END_DATE_TIME, new Date());
gameUser.save(null, {
success: function (gameUser) {
//console.log("updateUserSessionEndDateTime.save.success===========> " + JSON.stringify(gameUser));
callback(null, 1);
},
error: function (error) {
//console.log("updateUserSessionEndDateTime.save.error===========> " + error.message);
callback(error);
}
});
} else {
//console.log("updateUserSessionEndDateTime.sessionData-------> undefined ");
callback(null, 0);
}
},
error: function (error) {
//console.log("updateUserSessionEndDateTime.error===========> " + error.message);
callback(error);
}
});
}
错误日志 -
{"result":0,"custom_error_code":209,"custom_error_message":"无效会话令牌"}{"result":0,"custom_error_code":209,"custom_error_message":"无效会话令牌"}{ "result":0,"custom_error_code":209,"custom_error_message":"invalid session token"}{"result":0,"custom_error_code":209,"custom_error_message":"invalid session token"}{"result": 0,"custom_error_code":209,"custom_error_message":"invalid session token"}{"result":0,"custom_error_code":209,"custom_error_message":"invalid session token"}{"result":0,"custom_error_code ":209,"custom_error_message":"无效的会话令牌"}
用户登录成功后调用ping云函数。我不想删除 ACL 来解决这个问题。我恳请您帮助我为什么会遇到这个问题。
谢谢
【问题讨论】:
标签: parse-server