Почему я не могу получить Auth заголовок в Express? - PullRequest
0 голосов
/ 30 октября 2018

Я отправляю запрос POST из моего интерфейса с помощью axios, например:

const headers =  {
            headers: {
                'Authorization': `Bearer ${localStorage.token}`,
            }
        }

API.post('validate', headers )
            .then(res => {

            })
            .catch(error => {

            })

В браузере console.log я вижу, что объект headers был добавлен в качестве полезной нагрузки для запроса, а не в заголовки.

router.post('/', errorHandler(async (req, res, next) => {
    console.log(req.method)
    console.log(req.headers)
    let bearerHeader = req.headers['Authorization']
    console.log(bearerHeader)
})

Это мой console.log в Express:

POST
{ host: 'localhost:5000',
  connection: 'keep-alive',
  'content-length': '244',
  accept: 'application/json, text/plain, */*',
  origin: 'http://localhost:3000',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
  'content-type': 'application/json;charset=UTF-8',
  referer: 'http://localhost:3000/signin',
  'accept-encoding': 'gzip, deflate, br',
  'accept-language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7,uk;q=0.6' }
undefined

Также я использую библиотеку cors для работы с CORS (разные localhost для внешнего и внутреннего интерфейсов)

import cors from 'cors'

Что я делаю не так и как на самом деле добавить аутентификацию в заголовок с помощью axios?

1 Ответ

0 голосов
/ 30 октября 2018

Второй аргумент POST - это полезная нагрузка. Третий аргумент - заголовки. Попробуйте так:

API.post('validate', {}, headers )

...