Поиск…


Отправьте пользователя в конечную точку авторизации, чтобы получить код авторизации

Сначала вы отправите пользователя в конечную точку авторизации 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;
?>


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow