Recherche…


Envoyer l'utilisateur au noeud final d'autorisation pour obtenir le code d'autorisation

Vous allez d'abord envoyer l'utilisateur au noeud final d'autorisation Twitch. Cette URL est composée d'une URL d'autorisation de base ( https://api.twitch.tv/kraken/oauth2/authorize ) et de paramètres de chaîne de requête qui définissent ce que vous demandez. Les paramètres requis sont response_type , client_id , redirect_uri et scope .

Pour le flux de code d'autorisation, le paramètre response_type est toujours défini sur code . Cela signifie que vous demandez un code d'autorisation à l'API Twitch.

redirect_uri est l'endroit où l'utilisateur sera redirigé après avoir approuvé les portées demandées par votre application. Cela doit correspondre à ce que vous avez enregistré sur la page Connexions de votre compte Twitch.

L' client_id est un identifiant unique pour votre application. Vous pouvez également trouver votre identifiant client sur la page Connexions.

La scope définit ce à quoi vous avez accès au nom de l'utilisateur. Vous ne devez demander que le minimum requis pour que votre application fonctionne. Vous pouvez trouver la liste des étendues sur l' API Twitch GitHub .

Le paramètre state est également pris en charge pour vous protéger contre les attaques par script intersite. Le paramètre state sera inclus dans le redirect_uri lorsque l'utilisateur autorise votre application.

  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]

Récupère le code d'autorisation de la chaîne de requête

Lorsque l'utilisateur accède au point de terminaison d'autorisation, il lui est demandé d'autoriser votre application aux portées demandées. Ils peuvent refuser cela, vous devez donc vous assurer de prendre cela en considération dans votre code. Après avoir autorisé l'accès à votre application, l'utilisateur sera redirigé vers l'URL spécifiée dans redirect_uri . La chaîne de requête aura maintenant un paramètre de code , qui est le code d'autorisation que vous pouvez échanger contre un jeton OAuth.

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

Echangez le code pour le jeton OAuth

Maintenant que vous disposez d'un code d'autorisation, vous pouvez créer un POST sur le noeud final du jeton ( https://api.twitch.tv/kraken/oauth2/token ) pour obtenir un jeton OAuth. Vous recevrez un jeton d'accès codé JSON, un jeton d'actualisation et une liste des étendues approuvées par l'utilisateur. Vous pouvez maintenant utiliser ce jeton pour effectuer des demandes authentifiées au nom de l'utilisateur.

<?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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow