Genera un token HMAC firmado

Cada solicitud de segmento realizada mediante la publicación de Pods de redireccionamiento de segmentos debe incluir un token firmado HMAC para la autenticación, si no se usan las notificaciones tempranas de pausas publicitarias.

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

Cómo recopilar parámetros de token

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

Parámetros de token
custom_asset_key Obligatorio La clave personalizada del activo de transmisión en vivo de Google Ad Manager.
cust_params Opcional Parámetros de segmentación personalizada Consulta los cust_params.
exp Obligatorio Marca de tiempo de vencimiento para este token, expresada en segundos.
network_code Obligatorio Es el código de red de Ad Manager 360 para esta red.
pod_id Obligatorio Es el identificador de la pausa publicitaria. Debe ser un número entero que comience en 1 y aumente de a uno por cada pausa publicitaria.

Este valor debe ser el mismo para todos los usuarios que vieron la misma pausa publicitaria en el evento actual.

pd Obligatorio, excepto para los eventos con pausas publicitarias sin duración habilitadas. Es la duración en milisegundos de la pausa publicitaria. Se mencionó anteriormente como ad_pod_duration.
scte35 Opcional Señal SCTE-35 codificada en Base64. Es responsabilidad del cliente asegurarse de que el indicador sea correcto. Si es incorrecto, se envía un mensaje al encabezado HTTP X-Ad-Manager-Dai-Warning en la respuesta y el indicador se propaga para crear una pausa publicitaria. Consulta los marcadores de anuncios compatibles para obtener más información sobre cómo la DAI utiliza la señal SCTE-35.

Crear string de token

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

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

formato de string 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}

Generar 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 el evento de transmisión en vivo en Google Ad Manager.

Firma de la string del token

Una vez generada, agrega la firma HMAC a la string del token en el siguiente formato

~hmac={HMAC signature}

String del token de codificación de URL

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

Ejemplo 1

Este es un ejemplo en el que los parámetros opcionales sin usar se incluyen como strings vacías.

String del token

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

Clave del Secret

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Firma de HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Token firmado

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

Token firmado con codificación URL:

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

Ejemplo 2

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

String del token

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

Token firmado

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

Token firmado con codificación URL

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