twitch
Uzyskiwanie tokenu OAuth za pomocą przepływu kodu autoryzacji
Szukaj…
Wyślij użytkownika do punktu końcowego autoryzacji, aby uzyskać kod autoryzacji
Najpierw wyślesz użytkownika do punktu końcowego autoryzacji Twitcha. Ten adres URL składa się z podstawowego adresu URL autoryzacji ( https://api.twitch.tv/kraken/oauth2/authorize ) i parametrów ciągu zapytania, które definiują to, o co prosisz. Wymagane parametry to client_id response_type , client_id , redirect_uri i scope .
W przypadku przepływu kodu autoryzacji parametr response_type zawsze jest ustawiony na code . Oznacza to, że żądasz kodu autoryzacyjnego z interfejsu API Twitcha.
redirect_uri to miejsce, w którym użytkownik zostanie przekierowany po tym, jak zatwierdzi zakresy wymagane przez aplikację. To musi być zgodne z tym, co zarejestrowałeś na stronie Połączenia konta Twitch.
client_id jest unikalnym identyfikatorem twojej aplikacji. Możesz również znaleźć swój identyfikator klienta na stronie Połączenia.
scope określa, do czego masz dostęp w imieniu użytkownika. Powinieneś poprosić tylko o minimum potrzebne do działania aplikacji. Listę zakresów można znaleźć na GitHub API Twitcha .
Parametr state jest także obsługiwany, aby pomóc chronić przed atakami skryptowymi między witrynami. Parametr state zostanie dołączony do redirect_uri gdy użytkownik autoryzuje twoją aplikację.
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]
Uzyskaj kod autoryzacyjny z ciągu zapytania
Gdy użytkownik przejdzie do punktu końcowego autoryzacji, zostanie poproszony o udzielenie aplikacji uprawnień do żądanych zakresów. Mogą to odrzucić, więc musisz wziąć to pod uwagę w swoim kodzie. Po udzieleniu dostępu do aplikacji użytkownik zostanie przekierowany na adres URL podany w redirect_uri . Łańcuch zapytania będzie teraz miał parametr code , który jest kodem autoryzacji, który można wymienić na token OAuth.
<?php
$authCode = $_GET['code'];
?>
Wymień kod na token OAuth
Teraz, gdy masz kod autoryzacyjny, możesz wykonać test POST do punktu końcowego tokena ( https://api.twitch.tv/kraken/oauth2/token ), aby uzyskać token OAuth. Otrzymasz token dostępu zakodowany w JSON, token odświeżania oraz listę zakresów zatwierdzonych przez użytkownika. Możesz teraz używać tego tokena do wysyłania uwierzytelnionych żądań w imieniu użytkownika.
<?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;
?>