Ricerca…


Invia l'utente all'endpoint di autorizzazione per ottenere il codice di autorizzazione

In primo luogo, invierai l'utente all'endpoint di autorizzazione di Twitch. Questo URL è costituito dall'URL dell'autorizzazione di base ( https://api.twitch.tv/kraken/oauth2/authorize ) e dai parametri della stringa di query che definiscono ciò che stai richiedendo. I parametri richiesti sono response_type , client_id , redirect_uri e scope .

Per il flusso del codice di autorizzazione, il parametro response_type è sempre impostato su code . Ciò significa che stai richiedendo un codice di autorizzazione dall'API Twitch.

redirect_uri è il punto in cui l'utente verrà reindirizzato dopo aver approvato gli ambiti richiesti dall'applicazione. Questo deve corrispondere a quanto registrato sulla pagina Connessioni dell'account Twitch.

client_id è un identificativo univoco per la tua applicazione. Puoi trovare il tuo ID cliente anche nella pagina Connessioni.

L' scope definisce a cosa si ha accesso per conto dell'utente. Dovresti solo richiedere il minimo necessario per il funzionamento dell'applicazione. È possibile trovare l'elenco degli ambiti sul GitHub API Twitch .

Il parametro state è anche supportato per proteggere dagli attacchi cross-site scripting. Il parametro state sarà incluso nel redirect_uri quando l'utente autorizza la tua applicazione.

  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]

Ottieni il codice di autorizzazione dalla stringa di query

Quando l'utente raggiunge l'endpoint di autorizzazione, gli verrà chiesto di concedere l'autorizzazione dell'applicazione agli ambiti che hai richiesto. Possono rifiutarlo, quindi devi assicurarti di tenerlo in considerazione nel tuo codice. Dopo che hanno consentito l'accesso alla tua applicazione, l'utente verrà reindirizzato all'URL specificato in redirect_uri . La stringa di query ora avrà un parametro di code , che è il codice di autorizzazione che è possibile scambiare per un token OAuth.

<?php
  $authCode = $_GET['code'];
?>

Scambia il codice per il token OAuth

Ora che si dispone di un codice di autorizzazione, è possibile eseguire un POST sull'endpoint del token ( https://api.twitch.tv/kraken/oauth2/token ) per ottenere un token OAuth. Riceverai un token di accesso con codifica JSON, un token di aggiornamento e un elenco degli ambiti approvati dall'utente. Ora puoi usare quel token per fare richieste autenticate per conto dell'utente.

<?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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow