Support Kontakt Support | Systemstatus Systemstatus
Seiteninhalt

    Überblick: OAuth API

    Mit der Brightcove-Implementierung von OAuth2 können Sie Zugriffstoken für verschiedene Brightcove-APIs abrufen.

    Überblick

    Die Implementierung von Brightcove besteht aus zwei Teilen:

    • Das OAuth API - Bietet Zugriff auf alle verfügbaren OAuth-Funktionen

    • Die Benutzeroberfläche für OAuth-Anmeldeinformationen - über die Benutzeroberfläche für Kontoeinstellungen in Studio zugänglich. Die Benutzeroberfläche bietet eine einfache Möglichkeit, Apps zu registrieren, die Brightcove-APIs verwenden, und eine Client-ID und ein Client-Geheimnis für sie zu generieren. Sehen API-Authentifizierungsdaten verwalten Anweisungen zur Verwendung der OAuth-Benutzeroberfläche

    Siehe auch die API-Referenz.

    Glossar der Begriffe

    OAuth

    Ein offener Standard für die Autorisierung. OAuth bietet Clientanwendungen einen "sicheren delegierten Zugriff" auf Serverressourcen im Auftrag eines Ressourcenbesitzers. OAuth ermöglicht es im Wesentlichen, dass Zugriffstoken von einem Autorisierungsserver mit Genehmigung des Ressourceneigentümers an Drittanbieter-Clients ausgegeben werden. Der Client verwendet dann das Zugriffstoken, um auf die geschützten Ressourcen zuzugreifen, die von dem Ressourcenserver gehostet werden

    Umfang

    Ein Datenobjekt, das eine Gruppe von Ressourcen beschreibt (die über eine API zugänglich sind) und einige Operationen mit diesen Ressourcen (z. B. "Lesen" und "Schreiben"). Der Umfang eines Zugriffstokens begrenzt, was Sie tun können, indem Sie dieses Token präsentieren.

    Auftraggeber

    Eine App, mit der ein Endbenutzer über eine Brightcove-API auf eine Ressource zugreift.

    Kunden ID

    Eine eindeutige ID für einen vom OAuth-Service generierten Client.

    Geheimnis Shopper

    Eine Bitfolge, die zusammen mit einer Client-ID als Kennwort für die Authentifizierung eines Clients verwendet wird.

    Zugangstoken

    Eine Bitfolge, die temporären Zugriff auf eine API bereitstellt. Zugriffstoken werden vom OAuth-Service für einen Client auf Anforderung zurückgegeben.

    Fluss

    Reihenfolge der Vorgänge, die zum erfolgreichen Zugriff auf eine OAuth-geschützte Ressource führt.

    Basis-URL

    Die Basis-URL für die OAuth API ist:

        https://oauth.brightcove.com/v4
        
        

    Client-Anmeldedatenfluss

    Im Client-Anmeldeinformationsfluss fordert Ihre App ein Zugriffstoken an und übergibt Ihre Client-ID und Ihr Client-Geheimnis mit der Anforderung an den OAuth-Dienst. Derzeit ist dies der einzige Flow, der von Brightcove-Kunden unterstützt wird.

    Wie der Client-Credential-Flow funktioniert, hängt vom Szenario ab.

    Organisations-App

    In diesem Szenario verfügen Sie über eine App, die mit einer oder mehreren Brightcove-APIs interagieren muss, nur für das Konto oder die Konten, die zu Ihrer Organisation gehören. Die App ist nicht an einen bestimmten Benutzer gebunden. In diesem Fall sieht der Workflow folgendermaßen aus:

    Client-Anmeldungs-Workflow für die Organisations-App
    Client-Anmeldungs-Workflow für die Organisations-App

    Um dieses Szenario zu implementieren, würden Sie Folgendes tun:

    1. Rufen Sie mithilfe der OAuth-Benutzeroberfläche oder des OAuth-Service eine Client-ID und einen geheimen Schlüssel für Ihre App ab. Über die Benutzeroberfläche können Sie eine Client-ID und einen geheimen Schlüssel für ein oder mehrere Konten abrufen. Dies ist eine einmalige Operation.

    2. Fügen Sie Ihrer serverseitigen App Logik hinzu, um Anfragen an die OAuth API für Zugangstoken. Die Implementierung hängt von der Sprache Ihrer App ab (und Sie werden aufgefordert, eine vorhandene Sprache zu verwenden) OAuth2-Bibliothek für Ihre Sprache, wenn möglich), aber der Anruf, den Sie machen werden, ist eine POST-Anfrage an:

          https://oauth.brightcove.com/v4/access_token
          
          

      Das client_id und client_secret sind als die übergeben username:password in einem grundlegenden Berechtigungsheader:

          Authorization: Basic {client_id}:{client_secret}
          
          

      Die gesamte {client_id}:{client_secret} Die Zeichenfolge muss Base64-codiert sein (z. B. in Node.js) Buffer.toString("base64") Methode). CURL führt die BASE64-Codierung automatisch durch, sodass Sie die Anmeldeinformationen einfach als übergeben können user {client_id}:{client_secret}. Sie müssen auch ein Content-Type: application/x-www-form-urlencoded Header.

      Der Anfragetext enthält das Schlüssel / Wert-Paar grant_type=client_credentials. Beachten Sie, dass seit dem Content-type is x-www-form-urlencoded, Sie können dies auch einfach als Parameter an die Anforderungs-URL anhängen:

          https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials

      Unten ist eine sehr einfache Node.js App, die ein erhalten wird access_token gegeben ein gültiges client_id und client_secret.

          /*
          * Simple node app to get an access_token for a Brightcove API
          * You will need to substitute valid client_id and client_secret values
          * for {your_client_id} and {your_client_secret}
          */
          var request = require('request');
          var client_id = "{your_client_id}";
          var client_secret = "{your_client_secret}";
          var auth_string = new Buffer(client_id + ":" + client_secret).toString('base64');
          console.log(auth_string);
          request({
          method: 'POST',
          url: 'https://oauth.brightcove.com/v4/access_token',
          headers: {
          'Authorization': 'Basic ' + auth_string,
          'Content-Type': 'application/x-www-form-urlencoded'
          },
          body: 'grant_type=client_credentials'
          }, function (error, response, body) {
          console.log('Status: ', response.statusCode);
          console.log('Headers: ', JSON.stringify(response.headers));
          console.log('Response: ', body);
          console.log('Error: ', error);
          });
          
          
    3. Der Antworttext sieht wie folgt aus:

          {
          "access_token": "ACikM-7Mu04V5s7YBlKgTiPu4ZO3AsTBlWt-73l5kXRN4IeRuIVlJHZkq_lFQdZBYfzT9B_nHNgcmNFdalxSiNdqOBaaV7wQCCnRCua_efHNCg9d_yLbezcjxr3AGcBKy9a8_t-uTMTA46T24LKMOBGBNJFkyATSZI4JuxU71VIyGF9hDisbKHmKC5G5HdQ0nJgyCD1w1zkKrB1CpFb5iiBuA_XOzehF-Xf5DBYnSkDhzzByuFwTv9dU9d7W6V2OuiKiTzCzY3st01qJTk6-an6GcAOD4N5pdN8prvvMDQhz_HunJIamvVGqBz7o3Ltw8CFFJMXKQdeOF8LX31BDnOvMBEz-xvuWErurvrA0r6x5eZH8SuZqeri4ryZAsaitHiJjz9gp533o",
          "token_type": "Bearer",
          "expires_in": 300
          }
          
          

      Sie müssen das erfassen access_token. Es sei denn, Ihre Anrufe werden intermittierend sein. In diesem Fall werden Sie ein neues anfordern access_token Für jeden API-Aufruf möchten Sie auch die expires_in Wert, so dass Sie es für spätere Anfragen verwenden können, um zu überprüfen, ob Ihr Token noch gültig ist - wenn nicht, müssen Sie einen neuen anfordern. Das expires_in Wert ist in Sekunden.

    4. Sobald du das hast access_tokenkönnen Sie die Brightcove-API aufrufen, einschließlich des Tokens in der Authorization Header in der Form:

          Authorization: Bearer {access_token}
          
          

    [VORLÄUFIGE VOLLAUTOMATISCHE TEXTÜBERSETZUNG - muss noch überarbeitet werden. Wir bitten um Ihr Verständnis.] Für eine detailliertere Anleitung gehen Sie bitte auf: Zugriffstoken erhalten für mehr Details und Codebeispiele.

    Allgemeine Autorisierung

    Dieses Szenario gilt hauptsächlich für Brightcove-Partner, die Apps erstellen, die von Brightcove-Benutzern in verschiedenen Organisationen verwendet werden können. Der Workflow für dieses Szenario sieht folgendermaßen aus:

    Client-Credential-Workflow für Multi-Organisations-App
    Client-Credential-Workflow für Apps mit mehreren Organisationen

    Der einzige Unterschied bei der Implementierung dieses Szenarios anstelle des ersten besteht darin, dass der Benutzer über die OAuth-Benutzerschnittstelle eine Client-ID und einen geheimen Schlüssel für Ihre App abrufen und diese über ein Formular bereitstellen muss. Sie werden diese dann an Ihre App weitergeben, um mit der Anfrage nach einem zu übermitteln access_token. Abgesehen davon wird alles gleich sein.

    Erhalten Sie Clientanmeldeinformationen

    Der einfachste Weg, um Client-Anmeldeinformationen zu erhalten (die client_id und client_secret) soll das benutzen OAuth-Benutzeroberfläche. Wenn Sie es vorziehen, sie direkt vom OAuth-Dienst zu beziehen, können Sie dies jedoch tun, indem Sie eine POST-Anforderung an https://oauth.brightcove.com/v4/client_credentialsÜbergeben Sie die folgenden Header:

    • Content-Type: application/json
    • Authorization: BC_TOKEN your BC_TOKEN

    Sie müssen auch ein JSON-Objekt als Payload senden:

        {
          "type": "credential",
          "maximum_scope": [
            {
              "identity": {
                "type": "video-cloud-account",
                "type": "perform-account",
                "account-id": account_id1
              },
              "operations": [
                "video-cloud/player/all"
              ]
            },
            {
              "identity": {
              "type": "video-cloud-account",
              "type": "perform-account",
              "account-id": account_id2
            },
            "operations": [
              "video-cloud/player/all"
            ]
            }
          ],
          "name": "AnalyticsClient",
          "description": "My analytics app"
        }
        
        

    Operations

    Das einzige, was hier variieren wird, ist das operations Wert, der davon abhängt, auf welche API Sie zugreifen möchten und ob Sie auf Lese-, Schreib- oder beide Operationen zugreifen möchten. Sehen API-Operationen für Clientanmeldungsanfragen für eine Liste aller derzeit unterstützten Operationen.

    Ausführliche Anleitungen zum Abrufen von Clientanmeldeinformationen mithilfe von curl oder Postman finden Sie unter:

    Mit OAuth arbeiten

    Zum Erstellen einer Logik zum Abrufen von Zugriffstoken für Ihre API-Anforderungen gibt es zwei allgemeine Vorgehensweisen.

    Wenn Sie eine einzelne serverseitige App erstellen, ist es sinnvoll, die Logik in die App zu integrieren. Die Reihenfolge der Operationen sieht folgendermaßen aus:

    Einzel-App-Sequenz
    Einzel-App-Sequenz

    Wenn Sie stattdessen mehrere Apps erstellen, für die Brightcove-APIs aufgerufen werden müssen, oder wenn Sie eine clientseitige Webanwendung erstellen, ist es sinnvoller, den Code für das Abrufen von Zugriffstoken in einem einzigen Proxy zu konsolidieren. In diesem Fall sieht die Reihenfolge der Operationen folgendermaßen aus:

    Proxy-Sequenz
    Proxy-Sequenz

    Siehe die Quick-Start Für detaillierte Anweisungen zum Erstellen eines einfachen Proxy.

    Client-Beispiele und Bibliotheken

    Wir haben geschaffen Beispiele für Client-Implementierungen in mehreren Sprachen, um Ihnen Modelle für Implementierungen zu geben.

    Es gibt auch OAuth2-Bibliotheken, die für eine Reihe von Sprachen verfügbar sind, und wir empfehlen Ihnen im Allgemeinen, diese Bibliotheken möglichst zu verwenden, anstatt eine Interaktion mit dem Internet aufzubauen OAuth API. Im Folgenden finden Sie eine unvollständige Liste der verfügbaren Bibliotheken. Für eine ausführlichere Liste, siehe http://oauth.net/2/

    Python
    PHP
    Kakao
    Kakao
    iOS
    iPhone und iPad
    iOS und Mac MacOS
    iOS und Mac MacOS
    Java
    Rubin
    .NETZ
    Qt / C ++
    O2

    Seite zuletzt aktualisiert am 12. Juni 2020