twitch
Ein OAuth-Token mit dem Authorization Code Flow abrufen
Suche…
Senden Sie den Benutzer an den Autorisierungsendpunkt, um den Autorisierungscode abzurufen
Sie müssen den Benutzer zuerst an den Twitch-Autorisierungsendpunkt senden. Diese URL besteht aus der Basisberechtigungs-URL ( https://api.twitch.tv/kraken/oauth2/authorize ) und Abfragezeichenfolgeparametern, die definieren, was Sie anfordern. Die erforderlichen Parameter sind response_type , client_id , redirect_uri und scope .
Für den Autorisierungscode-Fluss wird der Parameter response_type immer auf code . Dies bedeutet, dass Sie einen Autorisierungscode von der Twitch-API anfordern.
Bei redirect_uri wird der Benutzer umgeleitet, nachdem er die von Ihrer Anwendung angeforderten Bereiche genehmigt hat. Dies muss mit dem übereinstimmen, was Sie auf Ihrer Twitch-Konto- Verbindungsseite registriert haben.
Die client_id ist eine eindeutige Kennung für Ihre Anwendung. Sie finden Ihre Kunden-ID auch auf der Seite Verbindungen.
Der scope definiert, auf was Sie im Namen des Benutzers zugreifen können. Sie sollten nur das Minimum anfordern, das Sie für die Funktionsfähigkeit Ihrer Anwendung benötigen. Die Liste der Bereiche finden Sie auf der Twitch API GitHub .
Der state wird auch zum Schutz vor Cross-Site-Scripting-Angriffen unterstützt. Der state wird in redirect_uri wenn der Benutzer Ihre Anwendung autorisiert.
https://api.twitch.tv/kraken/oauth2/authorize
?response_type=code
&client_id=[your client ID]
&redirect_uri=[your registered redirect URI]
&scope=[space separated list of scopes]
&state=[your provided unique token]
Rufen Sie den Autorisierungscode aus der Abfragezeichenfolge ab
Wenn der Benutzer zum Autorisierungsendpunkt wechselt, wird er aufgefordert, der Anwendung die Berechtigung für die von Ihnen angeforderten Bereiche zu erteilen. Sie können dies ablehnen, daher müssen Sie dies in Ihrem Code berücksichtigen. Nachdem der Benutzer Zugriff auf die Anwendung gewährt hat, wird der Benutzer an die in redirect_uri angegebene URL redirect_uri . Der Query - String wird nun einen hat code - Parameter, der der Autorisierungscode, den Sie für ein OAuth - Token austauschen kann.
<?php
$authCode = $_GET['code'];
?>
Tauschen Sie den Code für das OAuth-Token aus
Jetzt, da Sie einen Autorisierungscode haben, können Sie einen POST zum Token-Endpunkt ( https://api.twitch.tv/kraken/oauth2/token ) durchführen, um ein OAuth-Token zu erhalten. Sie erhalten ein JSON-codiertes Zugriffstoken, ein Aktualisierungstoken und eine Liste der vom Benutzer genehmigten Bereiche. Sie können dieses Token jetzt verwenden, um im Namen des Benutzers authentifizierte Anforderungen zu stellen.
<?php
$authCode = $_GET['code'];
$parameterValues = array(
'client_id' => '...',
'client_secret' => '...',
'grant_type' => 'authorization_code',
'redirect_uri' => 'http://localhost/',
'code' => $authCode
);
$postValues = http_build_query($parameterValues, '', '&');
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'https://api.twitch.tv/kraken/oauth2/token',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $postValues
));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>