Запрос TokenURL в Node.jsJavascript

Форум по Javascript
Ответить
Anonymous
 Запрос TokenURL в Node.js

Сообщение Anonymous »

Я пытаюсь сделать запрос на завершение процесса OAuth для Bungie API, следуя их документации.
Для начала вам необходимо создать ссылку авторизации для пользователя, используя ваш Идентификатор клиента приложения:

Код: Выделить всё

const crypto = require('crypto');

const clientID = process.env.BNG_CLIENT_ID;
const authURL = 'https://www.bungie.net/en/oauth/authorize';

// Create authorization link.
const authState = crypto.randomBytes(20).toString('hex');
console.log(`${authURL}?client_id=${clientID}&response_type=code&state=${authState}`);
Ссылка авторизации, кажется, работает нормально, а затем перенаправляет пользователя на ранее указанную ссылку, за исключением того, что теперь у нее есть дополнительный параметр запроса, который дает вам код авторизации, который вам нужно запросить. токен доступа.
Здесь я застрял:

Код: Выделить всё

const clientSecret = process.env.BNG_CLIENT_SECRET;
const tokenURL = 'https://www.bungie.net/platform/app/oauth/token';
const authCode = 'The authentication code :)';

fetch(tokenURL, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': `Basic ${btoa(`${clientID}:${clientSecret}`)}`
},
body: new URLSearchParams({
'client_id': clientID,
'grant_type': 'authorization_code',
'code': authCode
}).toString()
}).then(res => {
console.log(res);
return res.json();
});
Это текущее состояние моего кода, этот запрос возвращает статус 400 (неверный запрос). Другие вещи, которые я пробовал, возвращали статус 401 (Неавторизованный), но это практически то же самое.
Уже пробовал использовать client_id и client_secret в качестве параметра запроса. непосредственно в строку вместо использования заголовка Authorization, то же самое.

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-node-js
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»