Generare un token HMAC firmato

Ogni richiesta di segmento o manifest effettuata utilizzando la pubblicazione di pod deve includere un token con firma HMAC per l'autenticazione, come fallback di notifiche di interruzione pubblicitaria anticipata.

Questo token può essere calcolato una volta per interruzione pubblicitaria e condiviso tra tutte le sessioni di streaming.

Raccogliere i parametri del token

Raccogli le seguenti informazioni dall'interruzione pubblicitaria corrente per compilare il corpo del token.

Parametri del token
ad_break_id Obbligatorio se non viene fornito il parametro pod_id. L'identificatore stringa per l'interruzione pubblicitaria.
custom_asset_key Obbligatorio se non viene fornito il parametro event. La chiave asset della live streaming personalizzata, da Google Ad Manager.
cust_params Facoltativo I parametri di targeting personalizzati per l'interruzione pubblicitaria.
event Obbligatorio se non viene fornito il parametro custom_asset_key. La chiave asset della live streaming, generata da Google Ad Manager.
exp Obbligatorio Il timestamp di scadenza per questo token in secondi.
network_code Obbligatorio se viene fornito il parametro custom_asset_key. Il codice di rete Ad Manager 360 per questa rete.
pod_id Obbligatorio se non viene fornito il parametro ad_break_id. L'identificatore numerico per l'interruzione pubblicitaria.
pd Obbligatorio, tranne che per gli eventi con interruzioni pubblicitarie senza durata abilitate. La durata in millisecondi dell'interruzione pubblicitaria.
scte35 Facoltativo Il segnale SCTE-35 con codifica Base64 per l'interruzione pubblicitaria.

Creare la stringa del token

Elenca ogni parametro in ordine alfabetico, nel formato name=value, con ogni coppia nome-valore separata da un carattere tilde (~).

I parametri facoltativi senza un valore possono essere lasciati in posizione con una stringa vuota per il valore o rimossi completamente.

Formato della stringa del token

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

Generare la firma HMAC

La firma HMAC è un hash SHA-256 della stringa del token in formato esadecimale. La chiave secret è la chiave di autenticazione HMAC associata all'evento di live streaming in Google Ad Manager.

Firmare la stringa del token

Una volta generata, aggiungi la firma HMAC alla stringa del token nel seguente formato

~hmac={HMAC signature}

Codificare la stringa del token nell'URL

Questo token viene trasmesso come parametro URL, pertanto deve essere codificato nell'URL per sicurezza.

Esempio 1

Ecco un esempio in cui i parametri facoltativi non utilizzati sono inclusi come stringhe vuote.

Stringa del token

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

Chiave secret

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Firma HMAC

ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Token firmato

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

Token firmato con codifica URL:

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

Esempio 2

Ecco un esempio in cui le variabili facoltative non compilate vengono omesse completamente.

Stringa del token

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Chiave secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Firma HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Token firmato

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

Token firmato con codifica URL

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

Esempio 3

Ecco un esempio con ad_break_id.

Stringa del token

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000
Chiave secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Firma HMAC
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

Token firmato

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

Token firmato con codifica URL

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

Generatore di token