403 ошибка доступа запрещена при Node.js выборке по внешнему API - PullRequest
0 голосов
/ 21 января 2020

Я развернул свое приложение Node.js Koa API на Heroku. Я звоню в API USAJOB.gov, и он работает на моем локальном хосте. Однако на Heroku я получаю эту ошибку:

You don't have permission to access "http://data.usajobs.gov/$(SERVE_403)/api/search?" on this server.

Вот мой фрагмент кода роутера Koa:

router.get('/jobs', async (ctx) => {
  const { keyword, location } = ctx.query;
  const url = `https://data.usajobs.gov/api/search? 
    Keyword=${keyword}&LocationName=${location}`;
  const host = 'data.usajobs.gov';
  const userAgent = '<redacted>';
  const authKey = '<redacted>';
  const headers = {
    Host: host,
    'User-Agent': userAgent,
    'Authorization-Key': authKey,
  };

  await fetch(url, {
  headers,
  method: 'GET',
  });
}

1 Ответ

1 голос
/ 22 января 2020

Таким образом, выясняется, что была ли проблема межсайтовых запросов контроля доступа с использованием учетных данных . Я не смог понять, как настроить это с помощью функции node-fetch, но как только я прочитал решение (ссылка ниже), переключился на ax ios, настроил withCredentials: true и добавил headers: { 'X-Requested-With': 'XMLHttpRequest' }, тогда все заработало .

Источник: топор ios метод удаления дает 403

...