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;
?>


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow