Paper Contacter le support | état du système L'état du système
Contenu de la page

    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

    Code Source

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

    Exemple d'application

    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 10 août 2020