Support Kontaktieren Sie Support | Systemstatus Systemstatus
Inhalt der Seite

    Client-Anmeldedaten erstellen

    In diesem Beispiel können Sie Client-Anmeldeinformationen für ein oder mehrere Konten erstellen und ihnen die von Ihnen ausgewählten API-Berechtigungen zuweisen.

    Einführung

    Das Abrufen von Client-Anmeldeinformationen ist eine einmalige Voraussetzung für das Abrufen von Zugriffstoken, die von den meisten Brightcove-APIs zur Authentifizierung von Anforderungen verwendet werden.

    Eine vollständige Erläuterung der Clientanmeldeinformationen finden Sie unter Funktionsweise des Brightcove OAuth-Dienstes.

    Dieses Beispiel zeigt Ihnen, wie Sie Client-Anmeldeinformationen von einer Web-App abrufen. Da die OAuth-API nicht CORS-fähig ist und Anforderungen von der Serverseite gestellt werden müssen, sendet die App die erforderlichen Informationen an einen Proxy, der dann die API-Anforderung stellt und die Antwort an den Client zurücksendet. Der Proxy hier ist in PHP geschrieben, aber jede serverseitige Sprache reicht aus - Sie müssen nur in der Lage sein, eine POST-Anfrage über das Internet an die App zu senden.

    Erhalte dein BC_TOKEN

    Um eine zu bekommen client_id und client_secret Über die OAuth-API benötigen Sie eine BC_TOKEN um Ihre Anfrage zu authentifizieren. Ihr BC_TOKEN wird als Cookie gesetzt, wenn Sie sich bei Studio anmelden. Sie können dieses Cookie nach Belieben abrufen. Zur Vereinfachung haben wir jedoch das folgende JavaScript-Snippet erstellt: Sie können es in die Entwicklerkonsole einfügen, wenn Sie bei Studio angemeldet sind. Drücken Sie Rückkehr und eine Eingabeaufforderung mit dem BC_TOKEN wird angezeigt:

    Holen Sie sich Anmeldeinformationen App

    Quellcode

    Finden Sie den gesamten mit diesem Beispiel verknüpften Code in diesem GitHub-Repository.

    Beispiel-App

    Siehe den Stift OAuth API-Beispiel: Erstellen Sie Client-Anmeldeinformationen von Brightcove Learning Services ( rcrooks1969 ) auf CodePen.

    Verwenden des CodePen

    Hier sind einige Tipps, um das obige CodePen effektiv zu nutzen:

    • Schalten Sie die tatsächliche Anzeige des Players ein, indem Sie auf die Schaltfläche Ergebnis klicken.
    • Klicken Sie auf die Tasten HTML/CSS/JS , um EINEN der Codetypen anzuzeigen.
    • Klicke auf CodePen in der oberen rechten Ecke auf Bearbeiten , um diesen CodePen in dein eigenes Konto einzufügen.
    • Finden Sie den gesamten mit diesem Beispiel verknüpften Code in diesem GitHub-Repository.

    Proxy-Code

    Um Ihre eigene Version der Beispiel-App auf dieser Seite zu erstellen, müssen Sie Ihren eigenen Proxy erstellen und hosten. Dieser Proxy unterscheidet sich etwas von dem Proxy, der für die meisten unserer Beispielanwendungen verwendet wird, da sich die Authentifizierung für die OAuth-API-Methode zum Erstellen von Clientanmeldeinformationen von der für die allgemeine API-Authentifizierung unterscheidet. Der vollständige Code für den hier verwendeten Proxy ist unten dargestellt.

            <?php
            /**
             * client-credentials-proxy.php - Proxy für Brightcove RESTful-APIs
             * erhält eine Client-ID und ein Client-Geheimnis und gibt die gesamte Antwort zurück
             * Zugriff:
             * (beachten Sie, dass Sie *immer* über HTTPS auf den Proxy zugreifen sollten)
             * Methode: POST
             *
             * @post {string} bc_token - BC_TOKEN mit Administratorrechten für alle Konten, für die Anmeldeinformationen angefordert werden
             * @post {JSONstring} requestBody - der vollständige Anforderungshauptteil als JSON-Zeichenfolge
             *
             * @returns {string} $response - JSON-Antwort von der OAuth API erhalten
             */
            
            // Sicherheitskontrollen
            if (strpos ($ _ SERVER ['HTTP_REFERER'], 'solutions.brightcove.com') == false && strpos ($ _ SERVER ['HTTP_REFERER'], 'ondemand.brightcovelearning.com') == false && strpos ($ _ SERVER ['HTTP_REFERER'], 'video.brightcovelearning.com') == false && strpos ($ _ SERVER ['HTTP_REFERER'], 's.codepen.io') == false && strpos ($ _ SERVER ['HTTP_REFERER'], 'fiddle.jshell.net') == false && strpos ($ _ SERVER ['HTTP_REFERER'], 'player.brightcove.net') == false && strpos ($ _ SERVER ['HTTP_REFERER'], 'support.brightcove.com ') == false && strpos ($ _ SERVER [' HTTP_REFERER '],' master-7rqtwti-6sglloa4yrkti.us.platform.sh ') == false) {
                exit ('{"ERROR": "Nur Anfragen von http://docs.brightcove.com oder http: solutions.brightcove.com werden von diesem Proxy akzeptiert"}');
            }
            
            //CORS Enablement und andere Header
            header („Access-Control-Allow-Origin: *“)
            header („Content-Typ: Anwendung/JSON“);
            header („X-Content-Type-Options: nosniff“);
            header („X-XSS-Schutz“)
            
            // Daten holen oder sterben
            wenn ($_POST ["requestBody"]) {
                $ data = json_decode ($ _POST ["requestBody"]);
            } else {
              exit ("Anfragetext fehlt");
            }
            // Anforderungstyp abrufen oder standardmäßig POST verwenden
            wenn ($_POST ["requestType"]) {
                $ Methode = $ _POST ["requestType"];
            } else {
              $ method = 'POST';
            }
            // bekomme bc_token oder stirb
            if ($ _POST ["bc_token"]) {
                $ bc_token = $ _POST ["bc_token"];
            } else {
              exit ("bc_token fehlt");
            }
            
            $ request = "https://oauth.brightcove.com/v4/client_credentials";
            $ ch = curl_init ($ request);
            curl_setopt_array ($ ch, Array (
                CURLOPT_CUSTOMREQUEST = > $ Methode,
                CURLOPT_RETURNTRANSFER = > WAHR,
                CURLOPT_SSL_VERIFYPEER = > FALSCH,
                CURLOPT_HTTPHEADER = > Array (
                    'Content-Typ: Anwendung/JSON',
                    „Berechtigung: BC_TOKEN {$ bc_token} "
                )
                CURLOPT_POSTFIELDS = > json_encode ($ Daten)
            ));
            $ response = curl_exec ($ ch);
            curl_close ($ ch);
            
            //Auf Fehler prüfen
            wenn ($ Antwort === FALSCH) {
                sterben (curl_error ($ ch));
                exit ('Bei der Anforderung ist ein Fehler aufgetreten');
            } else {
              echo $ Antwort;
            }
            
            ?>
            

    Seite zuletzt aktualisiert am 28 Sep 2020