TokenURL-Anfrage in Node.jsJavaScript

Javascript-Forum
Guest
 TokenURL-Anfrage in Node.js

Post by Guest »

Ich versuche, eine Anfrage zum Abschließen des OAuth-Prozesses für die Bungie-API gemäß deren Dokumentation zu stellen.
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}`);
Der Autorisierungslink scheint einwandfrei zu funktionieren und leitet den Benutzer dann zu einem zuvor angegebenen Link weiter, außer dass er jetzt über einen zusätzlichen Abfrageparameter verfügt, der Ihnen den Autorisierungscode gibt, den Sie anfordern müssen das Zugriffstoken.
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();
});
Dies ist der aktuelle Status meines Codes. Diese Anfrage gibt den Status 400 (Bad Request) zurück. Andere Dinge, die ich versucht habe, haben den Status 401 (Nicht autorisiert) zurückgegeben, aber es ist praktisch derselbe.
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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post