Zunächst müssen Sie einen Autorisierungslink für den Benutzer erstellen, der Ihre verwendet Client-ID der Anwendung:
Code: Select all
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}`);
Hier stecke ich fest:
Code: Select all
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();
});
Ich habe bereits versucht, client_id und client_secret als Abfrageparameter zu verwenden direkt in die Zeichenfolge einfügen, anstatt den Authorization-Header zu verwenden, dasselbe Problem.