Gerar um token HMAC assinado

Cada solicitação de segmento ou manifesto feita usando a veiculação de pods precisa incluir um token assinado com HMAC para autenticação, como um substituto das notificações de quebra de anúncio antecipada.

Ele pode ser calculado uma vez por intervalo de anúncio e compartilhado em todas as sessões de streaming.

Reunir parâmetros de token

Reúna as informações a seguir do intervalo comercial atual para preencher o corpo do token.

Parâmetros de token
ad_break_id Obrigatório se o parâmetro pod_id não for fornecido. O identificador de string do intervalo comercial.
custom_asset_key Obrigatório se o parâmetro event não for fornecido. A chave de recurso personalizada da transmissão ao vivo, do Google Ad Manager.
cust_params Opcional Os parâmetros de segmentação personalizada do intervalo de anúncio.
event Obrigatório se o parâmetro custom_asset_key não for fornecido. A chave de recurso da transmissão ao vivo, gerada pelo Google Ad Manager.
exp Obrigatório Carimbo de data/hora de expiração deste token em segundos.
network_code Obrigatório se o parâmetro custom_asset_key for fornecido. É o código de rede do Ad Manager 360 para essa rede.
pod_id Obrigatório se o parâmetro ad_break_id não for fornecido. O identificador numérico do intervalo comercial.
pd Obrigatório, exceto para eventos com intervalos de anúncio sem duração ativados. A duração do intervalo de anúncio em milissegundos.
scte35 Opcional O indicador SCTE-35 codificado em Base64 para o intervalo de anúncio.

Criar string de token

liste cada parâmetro em ordem alfabética, no formato name=value, com cada par nome-valor separado por um til (~).

Parâmetros opcionais sem um valor podem ser deixados no lugar com uma string vazia para o valor ou removidos completamente.

formato da 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}

Gerar assinatura HMAC

A assinatura HMAC é um hash SHA-256 da string de token no formato HEX. A chave secreta é a chave de autenticação HMAC associada ao seu evento de transmissão ao vivo no Google Ad Manager.

String do token de assinatura

Depois de gerada, adicione a assinatura HMAC à string de token no seguinte formato

~hmac={HMAC signature}

Codificar string de token em URL

Esse token é transmitido como um parâmetro de URL, então precisa ser codificado com URL por segurança.

Exemplo 1

Confira um exemplo em que parâmetros opcionais não usados são incluídos como strings vazias.

String de token

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

Chave do secret

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Assinatura HMAC

ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Token assinado

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

Token assinado codificado em URL:

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

Exemplo 2

Este é um exemplo em que as variáveis opcionais não preenchidas são omitidas completamente.

String de token

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Chave do secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Assinatura HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Token assinado

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

Token assinado codificado para URL

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

Exemplo 3

Veja um exemplo com ad_break_id.

String de token

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000
Chave do secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Assinatura HMAC
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

Token assinado

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

Token assinado codificado para URL

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