Error message

User warning: The following module is missing from the file system: fast_404. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1143 of /mnt/www/html/ooyala/docroot/includes/bootstrap.inc).

Generación de firma

Para organizar sus vídeos cargados de usuario, puede declarar una label estática y/o un parámetro dynamic de expresión normal.

Las consultas API deben estar firmadas para asegurar la seguridad de la cuenta. Nosotros presentamos estos pasos como ejemplo de la generación de consultas API firmadas. Esta consulta producida en este ejemplo es válida e ilustra cómo se compone y se firma una consulta cualificada. Un ejemplo de firma detallado se encuentra disponible.

Los códigos de cuenta específicos para un ID de proveedor (pcode) y secreto (secret) se pueden encontrar en la pestaña Backlot Account, en Developers. El pcode consta de 28 caracteres y el Código secreto de 40 caracteres. Ambos respetan las mayúsculas y minúsculas e incluyen caracteres alfanuméricos, guiones (-) y guiones bajos (_). Estos códigos deben generar una firma para cada consulta a y de los servidores de Ooyala.

Ejemplo:

Partner Code: lsNTrbQBqCQbH-VA6ALCshAHLWrV
Secret Code: hn-Rw2ZH-YwllUYkklL5Zo_7lWJVkrbShZPb5CD1

      
Note: Estos parámetros indican una cuenta compartida accesible mediante la API a cualquier asociado de Backlot para una verificación preliminar. El contenido y los metadatos cargados en esta cuenta se encuentran visibles a todos los usuarios.

El pcode, código secreto, todos los parámetros necesarios y todos los parámetros opcionales incluidos se usan para generar una firma SHA-256 para la orden. Presentamos este ejemplo sobre cómo generar una firma y codificar con URI los parámetros para la llamada.

  1. Comience con el código secreto de 40 caracteres de la zona Developers de la pestaña Account de Backlot. hn-Rw2ZH-YwllUYkklL5Zo_7lWJVkrbShZPb5CD1
  2. Ordene los nombres de los parámetros alfabéticamente y anexe las parejas <name>=<value> para la cadena. La firma SHA-256 es generada con el resultado, que no incluye el pcode. Este ejemplo utiliza expires=1893013926, dynamic[any]=^/any/ano, dynamic[some]=^/any/some$, label[0]=/bysmthng/qqq, label[a]=/byuser/u1, y status=pending. hn-Rw2ZH-YwllUYkklL5Zo_7lWJVkrbShZPb5CD1dynamic[any]=^/any/anodynamic[some]=^/any/some$expires=1893013926label[0]=/bysmthng/qqqlabel[a]=/byuser/u1status=pending
  3. Genere un resumen con formato SHA-256 en base 64 sobre esta cadena, trunque la cadena a 43 caracteres y retire los signos "=" sobrantes. URI codifica la firma, concretamente '+','=' y '/'. Este ejemplo produce una firma de mNkdZprvtjKtve5EGLop3ZFszwrquOyBcxQrR+x38u8
  4. Incluya la firma generada anteriormente en la cadena que pase a setParameters() de forma que se use codificación URI. En nuestro ejemplo, se obtiene lo siguiente:

    var paramStr = 'pcode=lsNTrbQBqCQbH-VA6ALCshAHLWrV&status=pending&expires=1893013926&label[a]=/byuser/u1&
    label[0]=/bysmthng/qqq&dynamic[some]=^/any/some$&dynamic[any]=^/any/ano&
    signature=mNkdZprvtjKtve5EGLop3ZFszwrquOyBcxQrR+x38u8';
    

    Los caracteres especiales como ‘+’ y ‘/’ tienen codificación URI en esta cadena. Ofrecemos dos formas de lograr fácilmente URI.escape de la cadena de parámetros:

    // First, using JavaScript Object properties:
    var paramStr =
      {
        'pcode':'lsNTrbQBqCQbH-VA6ALCshAHLWrV',
        'status':'pending',
        'expires':'1893013926',
        'label[a]':'/byuser/u1',
        'label[0]':'/bysmthng/qqq',
        'dynamic[some]':'^/any/some$',
        'dynamic[any]':'^/any/ano',
        'signature':'mNkdZprvtjKtve5EGLop3ZFszwrquOyBcxQrR+x38u8'
      };
    

    O

    // Second, using array of objects with 'name' and 'value'
    // properties:
    var paramStr =
    [
      { name:'pcode', value:'lsNTrbQBqCQbH-VA6ALCshAHLWrV'},
      { name:'status' , value:'pending'},
      { name:'expires', value:'1893013926'},
      { name:'label[a]', value:'/byuser/u1'},
      { name:'label[0]', value:'/bysmthng/qqq'},
      { name:'dynamic[some]', value:'^/any/some$'},
      { name:'dynamic[any]', value:'^/any/ano'},
      { name:'signature', value:'mNkdZprvtjKtve5EGLop3ZFszwrquOyBcxQrR+x38u8'}
    ];
    
  5. Para comenzar una carga, llame a ooyalaUploader.setParameters(String), con la cadena formada por parejas separadas por & de <URI-encoded-name>=<URI-encoded-value>. setParameters(paramStr)

La cadena de nuestro ejemplo que se pasaría a setParameters() es:

pcode=lsNTrbQBqCQbH-VA6ALCshAHLWrV&status=pending&expires=1893013926&label[a]=/byuser/u1&label[0]=/bysmthng/qqq&
dynamic[some]=^/any/some$&dynamic[any]=^/any/ano&signature=mNkdZprvtjKtve5EGLop3ZFszwrquOyBcxQrR+x38u8');

Es posible que el socio prefiera generar esta cadena firmada en el servidor, embebiendo la cadena en una página HTML al generarla. En este caso, utilice una fecha de caducidad igual a la hora de caducidad de la sesión del usuario o si no mantiene las sesiones del usuario, igual a un número limitado de minutos. Sin embargo, es posible que el socio prefiera utilizar algunas técnicas avanzadas, como AJAX, JSON, etc. para iniciar una solicitud al servidor que genere la cadena firmada, inmediatamente antes de invocar ooyalaUploader.upload() and setParameters() with the results of the AJAX/JSON invocation. Esta técnica avanzada permite el uso de un intervalo de caducidad dentro de unos pocos segundos y valida los parámetros de carga antes de iniciar la solicitud de carga.