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
这应该可以解决问题,您怎么看?
有没有什么方法可以在远程 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
这应该可以解决问题,您怎么看?