soporte Contactar con asistencia técnica | estado del sistema Estado del Sistema
Contenido de la página

    Autenticación para solicitudes de API

    Este tema cubre la autenticación para la solicitud a las API REST de Brightcove.

    Introducción

    La mayoría de las API REST de Brightcove usan OAuth2 como base para la autenticación, y veremos la implementación de OAuth con más detalle en las siguientes secciones.

    Primero, sin embargo, tenga en cuenta que dos API utilizan diferentes enfoques de autenticación:

    Autenticación de clave de política: Playback API

    La Playback API se usa principalmente para recuperar datos de videos y listas de reproducción de playerso portales web, utiliza un policy_key, para la autenticación, generalmente se pasa como un argumento en un Accept encabezamiento:

            Accept: application/json;pk={policy_key}

    Las claves de política se generan automáticamente para Brightcove players, y puede ser tomado de un player configuración, o generados usando el Policy API

    Autenticación de clave API: Live API

    La Live API utiliza una clave API que se proporciona cuando su cuenta está configurada para autenticar solicitudes. La clave API se pasa en un X-API-KEY encabezamiento:

            X-API-KEY : {YOUR_APIKey}

    Autenticación OAuth2

    Las otras API REST para Video Cloud use OAuth2 para la autenticación. Para aquellos familiarizados con OAuth2, usamos un flujo de credenciales de cliente. Hay dos operaciones involucradas:

    1. Obtener credenciales de cliente: Esta es una operación de una sola vez que se realiza más fácilmente usando el Autenticación API Página de las herramientas de administración en Studio. Ver Administrar Credenciales de Autenticación API Para detalles e instrucciones paso a paso.
    2. Obtener un token de acceso: cada solicitud de API debe contener un token de acceso enviado en un Authorization encabezamiento:
              Authorization: Bearer {access_token}

      Acceda a los tokens en vivo durante cinco minutos, por lo que, a menos que ejecute un proceso que genere repetidas solicitudes de API, es probable que solo desee obtener una nueva para cada solicitud.

      Los tokens de acceso se obtienen enviando las credenciales del cliente en una solicitud a Brightcove's OAuth API. Ver Obtener tokens de acceso para más detalles. También hay una aplicación de muestra Puedes usarlo para obtener un token único para probar llamadas a la API. También hay instrucciones para configurar los clientes REST populares Cartero y Insomnio.

    Credenciales del cliente a través de OAuth API

    Si desea o necesita crear credenciales de cliente utilizando el OAuth API, a continuación se detallan los pasos que lo guiarán para obtener las credenciales de sus clientes. Primero deberá obtener su BC_TOKEN, que se utiliza para autenticarlo para la solicitud de credenciales del cliente.

    Consiga su BC_TOKEN y numero de cuenta

    Deberá iniciar sesión en Studio para obtener su BC_TOKEN.

    1. Inicie sesión en Studio como lo hace normalmente.
    2. Necesita su número de cuenta (denominado Id. De editor en Studio), que puede obtener accediendo a la información de su cuenta en Studio:
      ID de la cuenta
      ID de la cuenta
    3. Con cualquier página de Studio abierta, abra las herramientas de desarrollador para el navegador, vaya a la consola y pegue el siguiente código:
            var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
            for (i = 0; i < cookiesArray.length; i++) {
                tmpArray = cookiesArray[i].split("=");
                if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
                    cookiesObj.BC_TOKEN = tmpArray[1];
                }
            }
            window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

      ... y presione regresar.

    4. Debería ver aparecer un mensaje que contiene su BC_TOKEN:
      BC_TOKEN
      BC_TOKEN
    5. Si tiene su BC_TOKEN, vaya a la Obtenga las credenciales del cliente sección; Si por alguna razón no obtuvo su BC_TOKEN utilizando los pasos anteriores, simplemente vaya a la consola, escriba document.cookiesy presione regresar.
    6. Todas las cookies de la página se devolverán en una lista separada por punto y coma. Busque la cookie BC_TOKEN en la lista y copie el valor:
      Obtener BC_TOKEN de la consola
      Obtener BC_TOKEN de la consola

    Recibe client_credentials

    Ahora estamos listos para hacer la llamada al servicio OAuth para recuperar las credenciales del cliente. Tenemos que especificar el nombre de la aplicación del cliente para el que estamos solicitando credenciales: el nombre es arbitrario, con la intención de ayudarlo a realizar un seguimiento de para qué son las credenciales, y aquí solo usaremos "ingest-profiles-api-client". También tenemos que especificar el alcance de las operaciones a las que queremos acceder en una matriz, y aquí las usaremos. Las operaciones disponibles se muestran en Operaciones API para solicitudes de credenciales de clientes. En los pasos a continuación, especificará las operaciones requeridas para el Ingest Profiles API.

    1. Edite el siguiente comando curl, luego péguelo en la línea de comando y presione Regreso. Debe proporcionar sus valores específicos para los siguientes tres valores:
      • tu BC_TOKEN
      • su nombre de credencial
      • su ID de cuenta
            curl \
              --include \
              --header "Authorization: BC_TOKEN your_BC_TOKEN" \
              --data 'name=ingest-profiles-api-client&maximum_scope=[{
                  "identity": {
                    "type": "video-cloud-account",
                    "account-id": your_account_id
                  },
                  "operations": [
                        "video-cloud/ingest-profiles/profile/read",
                        "video-cloud/ingest-profiles/profile/write",
                        "video-cloud/ingest-profiles/account/read",
                        "video-cloud/ingest-profiles/account/write"
                    ]
                }]' \
            https://oauth.brightcove.com/v4/client_credentials
    2. La respuesta debería verse así (formato agregado):
            {
              "redirect_url": null,
              "maximum_scope": [
                {
                  "identity": {
                    "type": "video-cloud-account",
                    "account-id": your_video_cloud_account_id
                  },
                  "operations": [
                    "video-cloud/ingest-profiles/profile/write",
                    "video-cloud/ingest-profiles/account/write",
                    "video-cloud/ingest-profiles/profile/read",
                    "video-cloud/ingest-profiles/account/read"
                  ]
                }
              ],
              "name_html": "ingest-profiles-api-client",
              "issued_to": "your_email@host.com",
              "trusted": null,
              "expires_at": null,
              "issued_at": "2015-06-01T15:09:00Z",
              "name": "ingest-profiles-api-client",
              "description_html": null,
              "revoked": null,
              "type": "credential",
              "client_secret": "Ifckr6cWtxOh_NZnEVhKCgcqZaqoMcPuoJ-VGuivIE_psPoPUt2hGqUK15uPON3x3m748ElazZoOKPxbI3-4nQ",
              "description": null,
              "client_id": "da270d86-f3cd-4ee6-85b0-047df97a0db2",
              "issued_user": your_video_cloud_account_id
            }
    3. Copia y guarda el client_id y client_secret, ya que los necesitará en cualquier momento que necesite obtener un access_token.

    Fichas de acceso a través de OAuth API

    Los tokens de acceso, a diferencia de las credenciales de los clientes, son de corta duración: actualmente caducan en minutos 5. Deberá obtener una nueva para cada solicitud de API. Por supuesto, podría integrar la lógica en una aplicación para verificar el token de acceso más reciente para ver si se ha agotado el tiempo de espera, pero las solicitudes a la Ingest Profiles API es probable que sean pocos y distantes entre sí, por lo que no hay una buena razón para hacerlo.

    De hecho, la API puede ser una que usará con poca frecuencia como para que no valga la pena crear una aplicación a su alrededor. Una alternativa sería usar este script de shell que Brightcove Learning Services construyó. Le permite ingresar su identificación y secreto de cliente, la solicitud y el método de la API, y cualquier dato de solicitud. Luego obtiene un access_token, realiza la solicitud de API y emite la respuesta. (Tenga en cuenta que el script de shell utiliza cURL, que se instala de forma nativa en Mac MacOS y otros sistemas Unix / Linux, o se puede instalar en Windows.

    Para recuperar los tokens de acceso, realiza una solicitud POST a:

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

    Debe pasar los siguientes encabezados con esta llamada:

    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Basic {client_id}:{client_secret}

    La totalidad {client_id}:{client_secret} La cadena debe estar codificada en Base64 (curl automáticamente codificará Base64 la cadena si la pasa como --user cartas credenciales; en otros idiomas, necesitará manejar la codificación Base64 usted mismo).

    También debe enviar el siguiente par de clave / valor como cuerpo de la solicitud o como parámetro de URL:

          grant_type=client_credentials

    La respuesta se verá así (bastante impresa aquí para facilitar la lectura):

          {
              "access_token": "ANB7xKhiUZmwltVd3f1odcHHM9VAwg02kwmLwtZwHv3SxGCOWLUf5W4G7X22PRjmR9StvFUqzpVZ1suOfyfOigdi-rnohxyEaSSuZceeLw_9OBW7fXldOG05HEgkeK3N-DBZZZyilodmjA1JWZHbgI3IU7Rmz5IPGyi-sDxHN3KlOr1BDZlLZpXPdFPwEyb6idq-z8AL-blKTSMtNI3_fz3oNBisfrHGUv5tXHoQT4B7FYcvdrap16gTOO7_wNt1zmgLJiUHvyxZgsgBchm_AhohVL-AYgcfCbCR0v7d2hgI4ag35pnZNeujDiBLfnCFcVMlqQGq8UEVZrmU9a8y4pVAGih_EImmghqmSrkxLPYZ800-vIWX-lw",
              "token_type": "Bearer",
              "expires_in": 300
          }

    La access_token valor es lo que debe pasar en una Authorization encabezado con su llamada API en esta forma:

          Authorization: Bearer {access_token}

    La expired_in value es la cantidad de segundos para los que es válido el token de acceso.

    Para obtener más información y código de muestra, consulte Obtener tokens de acceso


    Página actualizada por última vez el 04 de agosto de 2020