Как использовать токен-аутентификацию с помощью axios и реагировать - PullRequest
1 голос
/ 26 мая 2019

Ошибка 401 (неверный или не предоставленный токен доступа), Как правильно передать токен с помощью axios, Это моя документация по коду и API: https://trefle.io

enter image description here

Ответы [ 3 ]

2 голосов
/ 26 мая 2019

Из Trefle Docs , вам сначала нужно запросить токен на стороне клиента, который будет возвращать токен JWT, который будет использоваться для выполнения запросов со стороны клиента.

// requst JWT token 
https://trefle.io/api/auth/claim?token=YOUR-TOKEN&origin=YOUR-WEBSITE-URL

Конечная точка установки принимает два параметра: id параметр пути и token параметр запроса.

pant endpoint Вам необходимо передать свой токен в качестве параметра запроса.

componentDidMount = () => {

    axios.get('https://trefle.io/api/plants/103505?token=YOURTOKEN')
      .then(res => {
        console.log(res)
      })
      .catch(e => console.log(e))
}

или

componentDidMount = () => {

    axios.get('https://trefle.io/api/plants/103505', {
      params: {
        token: 'YOURTOKEN'
      }
    })
      .then(res => {
        console.log(res)
      })
      .catch(e => console.log(e))
}
2 голосов
/ 26 мая 2019

Все зависит от того, как настроен ваш API для использования токена.Вообще говоря, вы можете передать токен через свойство headers в axios.

axios.get("https://trefle.io//api/plants/${id}", {
   headers: {
      Authorization : yourtoken
   } 
})
1 голос
/ 26 мая 2019

Зависит от того, как вы организовали свой код / ​​архитектуру.

  • Вы можете хранить токен в сеансе или локальных хранилищах, но каждый раз, когда вы делаете вызов, вам нужно каждый раз пропускать токен через заголовки ИЛИ вы можете создать перехватчик, который будет обрабатывать это для вас.
  • Вы также можете сохранить токен в файле cookie. Это хорошо, если вы запускаете приложение React с узлом, используя рендеринг на стороне сервера (SSR). В этом случае вам не нужно ничего делать, поскольку cookie-файлы отправляются через заголовки автоматически.
  • Вы также можете сохранить токен в сеансе, но в случае, если вам нужно автоматическое масштабирование, вам нужно использовать Redis, а не память, поэтому токен будет доступен для всех экземпляров, на которых работает ваше приложение.

Небольшое примечание - не отправлять токен через параметры запроса.

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