Parse-Server 捕获错误的 session 令牌请求

Parse-Server capture bad session token requests

有没有什么方法可以在远程 parse-server 应用程序上捕获错误的 session 令牌请求?

不幸的是,错误 session 令牌的详细日志仅显示一条非常不详细的错误消息,表明使用了无效的 session 令牌,而所有其他请求将显示完整的 headers用于发出请求。我需要找到那些 headers,这样我才能识别正在发送的 x-parse-session-token。

我发现我可以添加一些中间件来做这样的事情:

var myMiddleware = function (req, res, next) {
  // extract request headers
  next()
}

app.use(myMiddleware)

但那时我还不知道 session 令牌是否有效,而且我认为设置一个额外的中间件来检查传入的每个 session 个令牌。

任何有关我如何访问这些 x-parse-session-token headers 的提示,以解决因错误的 session 令牌而失败的请求,我们将不胜感激。

一种 hacky 方法是在您的中间件中覆盖 req.json 调用。

const myMiddleware = function (req, res, next) {
  const json = res.json;
  res.json = function(object) {
    if (object.code == Parse.Error.INVALID_SESSION_TOKEN) {
      // get the session token
      const token = req.headers['x-parse-session-token'];
      // Invalid token, do something
    }
    // Forward the response
    json.call(res, object);
  }
  next()
}

server = new ParseServer({
   applicationId: YOUR_APP_ID,
   /* more options */
   middleware: myMiddleware
});

// continue initialization here

这应该可以解决问题,您怎么看?