Genera un token HMAC firmado

Cada solicitud de segmento o manifiesto que se realice con la publicación de pods debe incluir un token firmado con HMAC para la autenticación, como alternativa de las notificaciones de pausas publicitarias anticipadas.

Este token se puede calcular una vez por pausa publicitaria y se puede compartir en todas las sesiones de transmisión.

Recopila parámetros de tokens

Recopila la siguiente información de la pausa publicitaria actual para completar el cuerpo del token.

Parámetros de token
ad_break_id Se requiere si no se proporciona el parámetro pod_id. Es el identificador de cadena de la pausa publicitaria.
custom_asset_key Se requiere si no se proporciona el parámetro event. Es la clave del activo de la transmisión en vivo personalizada, que se obtiene de Google Ad Manager.
cust_params Opcional Son los parámetros de segmentación personalizada para la pausa publicitaria.
event Se requiere si no se proporciona el parámetro custom_asset_key. Es la clave del activo de la transmisión en vivo, generada por Google Ad Manager.
exp Obligatorio Es la marca de tiempo de vencimiento de este token en segundos.
network_code Obligatorio si se proporciona el parámetro custom_asset_key. Es el código de red de Ad Manager 360 para esta red.
pod_id Se requiere si no se proporciona el parámetro ad_break_id. Es el identificador numérico de la pausa publicitaria.
pd Obligatorio, excepto para los eventos con pausas publicitarias sin duración habilitadas. Es la duración en milisegundos de la pausa publicitaria.
scte35 Opcional Es el indicador SCTE-35 codificado en Base64 para la pausa publicitaria.

Crea una cadena de token

Enumera cada parámetro en orden alfabético, en el formato name=value, con cada par nombre-valor separado por un carácter de virgulilla (~).

Los parámetros opcionales sin un valor se pueden dejar en su lugar con una cadena vacía para el valor o quitarse por completo.

Formato de cadena de token

custom_asset_key={custom_asset_key}~exp={expiration}~network_code={network_code}~pd={pod_duration}~pod_id={ad_pod_index}~scte35={scte35_message}

Genera la firma HMAC

La firma HMAC es un hash SHA-256 de la cadena de token en formato HEX. La clave secreta es la clave de autenticación HMAC asociada con tu evento de transmisión en vivo en Google Ad Manager.

Cadena del token de firma

Una vez que se genere, agrega la firma HMAC a la cadena del token con el siguiente formato:

~hmac={HMAC signature}

Codifica como URL la cadena del token

Este token se pasa como un parámetro de URL, por lo que debe estar codificado como URL para mayor seguridad.

Ejemplo 1

Este es un ejemplo en el que se incluyen parámetros opcionales no utilizados como cadenas vacías.

Cadena de token

cust_params=~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=

Clave del Secret

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Firma HMAC

ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Token firmado

cust_params=~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=~hmac=ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Token firmado codificado como URL:

cust_params%3D~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3Dea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Ejemplo 2

Este es un ejemplo en el que se omiten por completo las variables opcionales sin completar.

Cadena de token

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Clave del Secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Firma HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Token firmado

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~hmac=6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Token firmado codificado como URL

custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~hmac%3D6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Ejemplo 3

A continuación, se muestra un ejemplo con ad_break_id.

Cadena de token

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000
Clave del Secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Firma HMAC
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

Token firmado

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~hmac=327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

Token firmado codificado como URL

ad_break_id%3Dadbreak1~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~hmac%3D327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29