Parse-Server перехватывает неверные запросы токена сессии - PullRequest
0 голосов
/ 23 мая 2018

Есть ли способ перехватить неверные запросы токена сеанса в приложении удаленного сервера разбора?

К сожалению, подробные журналы для неверных сеансовых токенов отображают только очень подробное сообщение об ошибке, что использовался неверный сеансовый токен, тогда как во всех других запросах будут отображаться полные заголовки, использованные для создания запроса.Мне нужно добраться до этих заголовков, чтобы я мог определить отправляемый токен x-parse-session-token.

Я обнаружил, что могу добавить некоторое промежуточное ПО, выполняющее что-то вроде этого:

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

app.use(myMiddleware)

Но я бы еще не знал, был ли токен сеанса действительным или нет в тот момент, и я не думаю, что было бы эффективно настроить дополнительное промежуточное программное обеспечение, проверяющее правильность каждого передаваемого токена сеанса.

Будем весьма благодарны за любые советы о том, как мне получить доступ к этим заголовкам x-parse-session-token для запросов, которые не выполняются из-за неправильных токенов сессии.

1 Ответ

0 голосов
/ 23 мая 2018

Один хакерский способ - переопределить в вашем промежуточном программном обеспечении вызов 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

Это должно помочь, как вы думаете?

...