twitch
Получение токена OAuth с использованием потока кода авторизации
Поиск…
Отправьте пользователя в конечную точку авторизации, чтобы получить код авторизации
Сначала вы отправите пользователя в конечную точку авторизации Twitch. Этот URL-адрес состоит из базового URL-адреса авторизации ( https://api.twitch.tv/kraken/oauth2/authorize ) и параметров строки запроса, которые определяют то, что вы запрашиваете. Необходимыми параметрами являются response_type , client_id , redirect_uri и scope .
Для потока кода авторизации параметр response_type всегда устанавливается в code . Это означает, что вы запрашиваете код авторизации из API Twitch.
redirect_uri - это то место, где пользователь будет перенаправлен после того, как он одобрит области применения вашего приложения. Это должно совпадать с тем, что вы зарегистрировали на странице подключений учетной записи Twitch.
client_id - уникальный идентификатор вашего приложения. Вы также можете найти свой идентификатор клиента на странице «Подключения».
scope определяет, к чему у вас есть доступ от имени пользователя. Вы должны запросить только минимальные требования, необходимые для работы вашего приложения. Вы можете найти список областей применения Twitch API GitHub .
Параметр state также поддерживается для защиты от атак межсайтовых сценариев. Параметр state будет включен в redirect_uri когда пользователь авторизует ваше приложение.
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]
Получить код авторизации из строки запроса
Когда пользователь перейдет к конечной точке авторизации, им будет предложено предоставить разрешение вашей заявки на запрашиваемые вами области. Они могут отказаться от этого, поэтому вы должны обязательно учитывать это в своем коде. После того, как они разрешат вашему приложению доступ, пользователь будет перенаправлен на URL-адрес, указанный вами в redirect_uri . Строка запроса теперь будет иметь параметр code , который является кодом авторизации, который вы можете обменять на токен OAuth.
<?php
$authCode = $_GET['code'];
?>
Обменный код для токена OAuth
Теперь, когда у вас есть код авторизации, вы можете сделать POST на конечную точку маркера ( https://api.twitch.tv/kraken/oauth2/token ), чтобы получить токен OAuth. Вы получите JNON-кодированный токен доступа, токен обновления и список областей, одобренных пользователем. Теперь вы можете использовать этот токен для выполнения аутентифицированных запросов от имени пользователя.
<?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;
?>