Как я могу отправить некоторые данные (например, данные json) из бэкэнда Express в клиент React через заголовок ответа? - PullRequest
1 голос
/ 09 мая 2019

Я использую github oauth для аутентификации пользователя, поэтому во время установки я использовал перенаправленный маршрут в качестве URL-адреса своего бэкенда (например: http://localhost:4000/home).

После получения токена для этого маршрута я выполняю http-запрос к URL (https://github.com/login/oauth/access_token?client_id=${clientID}&client_secret=${clientSecret}&code=${requestToken}) Для получения токена доступа пользователя.

У меня вопрос: после того, как я получу этот токен доступа, я передаю его внешнему интерфейсу как параметр в URL (который виден пользователю). Например: res.redirect (http://localhost:3000/home/${accessToken})

Так что я просто хочу сделать его невидимым для пользователя, передав его через заголовок ответа. Как я могу это сделать ????

// Declare the redirect route
app.get('/home', (req, res) => {

  // The req.query object has the query params that
  // were sent to this route. We want the `code` param

  const requestToken = req.query.code

  axios({

    // make a POST request
    method: 'post',

    // To the Github authentication API, with the client ID, client secret and request token
    url: `https://github.com/login/oauth/access_token?client_id=${clientID}&client_secret=${clientSecret}&code=${requestToken}`,

    // Set the content type header, so that we get the response in JSON
    headers: {
         accept: 'application/json'
    }

  }).then((response) => {

    // Once we get the response, extract the access token from the response body
    const accessToken = response.data.access_token

    // redirect the user to the welcome page, along with the access token
    res.redirect(`http://localhost:3000/home/${accessToken}`)

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