Как получить access_token с помощью POST и использовать его для запроса GET в nodejs
Попытка получить данные access_token из `token--url` и использовать их для запроса GET для извлечения данных RESTapi другого приложения(которое не разработано мной. Токен, который мы получаем с помощью метода POST, будет использоваться для получения доступа для извлечения данных RESTapi с помощью метода GET), а также необходимо использовать токен обновления после истечения срока действия access_token автоматически.
Данные токена будут выглядеть следующим образом:
{ "scope": "abcdefg", "access_token": "adq3e3e2d23e23", "refresh_token": "dwned323en232je", "expires_in": 1799, "token_type": "Bearer" }
Что я уже пробовал:
function Post() { var urHeaders = new Headers(); urHeaders.append("API-version", "2"); urHeaders.append("Accept", "application/json"); urHeaders.append("Content-Type", "application/x-www-form-urlencoded"); urHeaders.append("Authorization", "Basic <wwww>"); var raw = "grant_type=password&username=name@yyy.com&password=xyz"; var requestOptions = { method: 'POST', headers: urHeaders, body: raw, redirect: 'follow' }; const first = fetch("https://<--url-->/oauth2/token", requestOptions) const second = first.then(response => response.json()) return second; } var token = Post().then((data) => { console.log('This is your data', data)}) function Test() { var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("Authorization", `Bearer ${token.then((data)=>{data.access_token})}`); var requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; const promise = fetch("https://<--url--towhich--access_token--is--passed>", requestOptions) const data = promise.then(response => response.json()) return data; } export let use = Test(); export default (req, res) => { res.statusCode = 200 use.then(data => { res.json(JSON.stringify(data)) }) .catch(err => console.log(err)) }