twitch
Een OAuth-token verkrijgen met behulp van de autorisatiecodestroom
Zoeken…
Stuur de gebruiker naar het autorisatie-eindpunt om de autorisatiecode op te halen
U stuurt eerst de gebruiker naar het eindpunt van de Twitch-autorisatie. Deze URL bestaat uit een basisautorisatie-URL ( https://api.twitch.tv/kraken/oauth2/authorize ) en queryreeksparameters die definiëren wat u aanvraagt. De vereiste parameters zijn response_type , client_id , redirect_uri en scope .
Voor de autorisatiecodestroom is de parameter response_type altijd ingesteld op code . Dit betekent dat u een autorisatiecode aanvraagt bij de Twitch API.
De redirect_uri is waar de gebruiker wordt omgeleid nadat deze de scopes goedkeurt die uw aanvraag heeft aangevraagd. Dit moet overeenkomen met wat u hebt geregistreerd op uw Twitch-account Verbindingspagina .
De client_id is een unieke identificatie voor uw toepassing. U kunt uw klant-ID ook vinden op de pagina Verbindingen.
Het scope definieert waartoe u namens de gebruiker toegang hebt. Vraag alleen het minimum dat u nodig hebt om uw toepassing te laten werken. U kunt de lijst met scopes vinden op de Twitch API GitHub .
De state parameter wordt ook ondersteund om te helpen beschermen tegen cross-site scripting aanvallen. De state parameter zal worden opgenomen op de redirect_uri wanneer de gebruiker uw aanvraag autoriseert.
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]
Haal de autorisatiecode uit de queryreeks
Wanneer de gebruiker naar het verificatie-eindpunt gaat, wordt hem gevraagd om uw toepassing toestemming te geven voor de bereiken die u hebt aangevraagd. Ze kunnen dit weigeren, dus je moet er rekening mee houden dat dit in je code wordt meegenomen. Nadat ze uw toepassing toegang hebben verleend, wordt de gebruiker omgeleid naar de URL die u hebt opgegeven in redirect_uri . De query string zal nu een code parameter, dat is de autorisatie code die je kunt ruilen voor een OAuth-token.
<?php
$authCode = $_GET['code'];
?>
Wissel de code in voor het OAuth-token
Nu u een autorisatiecode hebt, kunt u een POST maken naar het token-eindpunt ( https://api.twitch.tv/kraken/oauth2/token ) om een OAuth-token te krijgen. U ontvangt een JSON-gecodeerd toegangstoken, een vernieuwingstoken en een lijst met de door de gebruiker goedgekeurde scopes. U kunt dat token nu gebruiken om namens de gebruiker geverifieerde aanvragen te doen.
<?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;
?>