req.headres.Avorization не определен в героку? - PullRequest
0 голосов
/ 10 октября 2019

Я работал в проекте «реагировать и выражать», все отлично работает на моем локальном сервере, но когда я развернул его на heroku, то заголовок Authorization, где я установил auth, jwtToken не работает, когда я перезагружаю страницу, я потерял заголовки. это ссылка на мой проект https://immense -coast-59384.herokuapp.com вы можете попробовать.

это мое промежуточное ПО аутентификации

const auth = async (req, res, next) => {
    try {
       const token =  req.headers.authorization.split(' ')[1];
        const decoded = jwt.verify(token, jwtSecret);
        const user = await User.findOne({ _id: decoded._id, 'tokens.token': token })

        if (!user) {
            throw new Error()
        }

        req.token = token
        req.user = user
        next()
    } catch (e) {
        console.log(e)
        res.status(401).send({ error: 'Please authenticate.' })
    }
}

Я использую этоПромежуточное программное обеспечение это в моем экспресс-маршруте, например:

router.get('/users/me', auth, async (req, res) => {
    res.send(req.user)
})



мой клиент. React request, например:

 const  getMe = async ()=>{

        try {

          const token = localStorage.getItem('jwtToken');

          const res = await axios.get(
              `/users/me`,
              {
                  headers:{  "Authorization" :`Bearer ${token}` },

                }
              )
          setUser(user=>({...user,userInfo:res.data}))

        } catch (error) {
            console.error(error);
        }
    }

Это скриншот моих журналов героку введите описание изображения здесь

1 Ответ

0 голосов
/ 10 октября 2019

В Heroku есть ограничение на размер заголовка. Если запросы, содержащие строку запроса или строку заголовка длиной более 8 КБ, будут сброшены маршрутизатором без отправки.

Из Heroku

При обработке входящего запроса маршрутизатор устанавливает буфер приема 8 КБ и начинает чтение строки HTTP-запроса и заголовков запроса. Каждый из них может иметь длину не более 8 КБ, но вместе может быть более 8 КБ. Запросы, содержащие строку запроса или строку заголовка длиной более 8 КБ, будут сброшены маршрутизатором без отправки.

Для получения дополнительной информации прочитайте https://devcenter.heroku.com/articles/http-routing#request-buffering

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