Paper Contacter le support | état du système L'état du système

Obtenir un jeton d'accès

Cet exemple récupère un jeton d'accès à partir de Brightcove OAuth API depuis une application Web, en envoyant la demande via un proxy.

Introduction

Obtenir des jetons d'accès est une opération cruciale pour la plupart des travaux avec les API Brightcove, car la majorité d'entre eux utilisent des jetons d'accès pour authentifier les demandes.

Pour une explication complète des jetons d'accès, voir comment fonctionne le service Brightcove OAuth et Obtenir des jetons d'accès.

Cet exemple vous montre comment obtenir un jeton d'accès à partir d'une application Web. Parce que le OAuth API CORS n'est pas activé et les demandes doivent être faites du côté serveur, l'application envoie des informations à un proxy, qui envoie ensuite la demande de l'API et renvoie la réponse au client. Le proxy ici est écrit en PHP, mais n'importe quel langage côté serveur fera l'affaire - il vous suffit de pouvoir envoyer une demande POST à ​​l'application via Internet.

Obtenir des informations d'identification

Pour obtenir une client_id et client_secret, vous devrez aller à l'interface utilisateur OAuth et enregistrer cette application:

Ceux-ci choisissent les autorisations dont vous aurez besoin pour l'API que vous allez utiliser:

Autorisations d'API
Autorisations d'API

Vous pouvez également obtenir vos informations d'identification via CURL ou Postman - voir:

Si vous obtenez des informations d'identification directement à partir du OAuth API, Voir Opérations d'API pour les demandes d'informations d'identification du client pour les autorisations dont vous avez besoin pour différentes opérations d'API.

Obtenir l'accès à l'application de jeton

Trouver tout le code associé à cet exemple dans cette GitHub référentiel.

Voir le stylo OAuth API Exemple: obtenir un jeton d'accès par Brightcove Learning Services (@rcrooks1969) Sur CodePen.

Utilisation du CodePen

Voici quelques conseils pour utiliser efficacement le CodePen ci-dessus:

  • Basculer l'affichage réel du player en cliquant sur le Le résultat .
  • Cliquez HTML / CSS / JS boutons pour afficher l'un des types de code.
  • Cliquez Modifier sur CodePen dans le coin supérieur droit pour bifurquer ce CodePen dans votre propre compte.
  • Trouver tout le code associé à cet exemple dans cette GitHub référentiel.

Code de proxy

Pour créer votre propre version de l'exemple d'application sur cette page, vous devez créer et héberger votre propre proxy. (Les proxys utilisés par Brightcove Learning Services acceptent uniquement les demandes des domaines Brightcove.) Une version du code proxy sans les restrictions d'origine est indiquée ci-dessous.

    <?php
    /**
     * access-token-proxy.php - proxy for Brightcove RESTful APIs
     * gets an access token and returns it
     * Accessing:
     *         (note you should *always* access the proxy via HTTPS)
     *     Method: POST
     *
     * @post {string} client_id - OAuth2 client id with sufficient permissions for the request
     * @post {string} client_secret - OAuth2 client secret with sufficient permissions for the request
     *
     * @returns {string} $response - JSON response received from the OAuth API
     */
    
    
    // CORS enablement and other headers
    header("Access-Control-Allow-Origin: *");
    header("Content-type: application/json");
    header("X-Content-Type-Options: nosniff");
    header("X-XSS-Protection");
    
    // note that if you are using this proxy for a single credential
    // you can just hardcode the client id and secret below instead of passing them
    
    $client_id     = $_POST["client_id"];
    $client_secret = $_POST["client_secret"];
    $auth_string   = "{$client_id}:{$client_secret}";
    $request       = "https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials";
    $ch            = curl_init($request);
    curl_setopt_array($ch, array(
            CURLOPT_POST           => TRUE,
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_SSL_VERIFYPEER => FALSE,
            CURLOPT_USERPWD        => $auth_string,
            CURLOPT_HTTPHEADER     => array(
                'Content-type: application/x-www-form-urlencoded',
            )
        ));
    $response = curl_exec($ch);
    curl_close($ch);
    
    // Check for errors
    if ($response === FALSE) {
        die(curl_error($ch));
        echo 'An error occurred';
    } else {
      echo $response;
    }
    
    ?>
    

Dernière mise à jour de la page le 12 juin 2020