Отправьте заголовок аутентификации с помощью fetch или axios - PullRequest
0 голосов
/ 27 апреля 2018

Как отправить аутентификационный заголовок с помощью fetch или axios?

Я пытался сделать это, но у меня на стороне клиента нет заголовка со значением аутентификации.

Вот мой пример кода.

let myHeaders = new Headers();
myHeaders.append("Authorization", token);
myHeaders.append("Access-Control-Allow-Origin", "*");
myHeaders.append("Access-Control-Allow-Origin", "*");

let req = {
        method: "GET",
        headers: myHeaders,
        mode: "no-cors",
        credentials: "same-origin",
    }
    fetch('http://localhost:5000/secret', req)
        .then(res => console.log(res))
        .catch(err => console.log(err))

И я попытался проверить это в моем коде node.js.

router.route("/").get(passportJWT, SecretController.secret);

1 Ответ

0 голосов
/ 27 апреля 2018

Чтобы два источника считались "одинаковыми", они должны иметь общую долю:

  • Схема (например, https)
  • Hostname
  • Порт

Вы делаете запрос от http://localhost:3000 до http://localhost:5000, поэтому делаете запрос на отправку из разных источников.

credentials: "same-origin"

… но вы ограничили полномочия (например, Authorization) до запросов того же происхождения .

mode: "no-cors",

Для отправки учетных данных с запросом из разных источников вам необходимо получить разрешение через CORS.

Вы не должны устанавливать no-cors.

Вам нужно

mode: "cors",
credentials: "include"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...