Как сохранить заголовок аутентификации на редиректе 302 с модулем запроса - PullRequest
0 голосов
/ 07 мая 2019

Я использую NodeJS и модуль Запрос для выполнения вызовов API в моем приложении. Новый сторонний сервис, с которым я пытаюсь интегрироваться, имеет базовый URL, который меняется с каждым выпуском (т. Е. 'https://release -23.service.com / api / v1 ').

Они предоставляют статический базовый URL-адрес для всех своих конечных точек, которые перенаправляют на последний базовый URL-адрес. Проблема в том, что мне также нужно включить базовый заголовок аутентификации в запрос. Этот заголовок аутентификации не сохраняется, когда происходит перенаправление, поэтому конечным результатом является код состояния 401.

Имеет ли Request какая-либо поддержка для сохранения заголовка auth при перенаправлении?

Я поигрался с добавлением followRedirect: false к объекту параметров и захватом и повторной попыткой location из заголовка ответа, но в идеале я хотел бы использовать функцию перенаправления запроса с неповрежденным заголовком auth, чтобы я мог не рискуйте нарушить существующую логику, которая может зависеть от перенаправления.

Вот расширенная версия существующего кода:

const request = require('request');

const options = {
  uri: 'https://www.service.com/api/v1',
  headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
  },
  auth: {
      username: 'username',
      password: 'password'
  },
  json: true,
  method: 'GET',
  timeout: 30000
};

request(options, function (err, response) {
  if (err) {
    return err;
  }
  console.log(response.body);
});
...