Как мы можем отправить OAuth2.0 с axios в React JS - PullRequest
0 голосов
/ 02 февраля 2019

Я работаю над одной проблемой аутентификации, когда мне нужно реализовать аутентификацию OAuth2.0 для моего React App.Есть ли способ использовать эту аутентификацию с библиотекой Axios Promise ???

1 Ответ

0 голосов
/ 03 февраля 2019

Вам нужно будет передать свой токен в заголовке.

См. Ниже;

const instance = axios.create({
  baseURL: 'http://localhost/api/',
  headers: {'Authorization': 'basic '+ token}
});

instance.get('/path')
.then(response => {
    return response.data;
})

ИЛИ

Установить файл cookie авторизации в браузере, как только вы получите своймаркер.Браузер всегда будет отправлять куки авторизации при каждом запросе к серверу.Вам не нужно будет передавать его через Axios get / post.

ОБНОВЛЕНИЕ:

Чтобы получить токен доступа с сервера oAuth, передайте client_id,client_secret, scope и grant_type следующим образом:

var axios = require("axios");

axios.request({
  url: "/oauth/token",
  method: "post",
  baseURL: "http://sample.oauth.server.com/",
  auth: {
    username: "myUsername", // This is the client_id
    password: "myPassword" // This is the client_secret
  },
  data: {
    "grant_type": "client_credentials",
    "scope": "public"    
  }
}).then(respose => {
  console.log(respose);  
}); 

Я предполагаю, что вы используете grant_type = "client_credentials", если нет, то в зависимости от используемого grant_type вам придется также изменить параметры запросасоответственно.

...