Générer un jeton HMAC signé

Chaque demande de segment ou de fichier manifeste effectuée à l'aide de la diffusion par pods doit inclure un jeton signé HMAC pour l'authentification, en tant que solution de secours pour les notifications de pause publicitaire anticipée.

Ce jeton peut être calculé une fois par coupure publicitaire et partagé entre toutes les sessions de flux.

Recueillir les paramètres du jeton

Rassemblez les informations suivantes sur la coupure publicitaire actuelle pour remplir le corps du jeton.

Paramètres de jeton
ad_break_id Obligatoire si le paramètre pod_id n'est pas fourni. Identifiant de chaîne de la coupure publicitaire.
custom_asset_key Obligatoire si le paramètre event n'est pas fourni. Clé d'élément de diffusion en direct personnalisée, issue de Google Ad Manager.
cust_params Facultatif Paramètres de ciblage personnalisé pour la coupure publicitaire.
event Obligatoire si le paramètre custom_asset_key n'est pas fourni. Clé de l'asset de la diffusion en direct, générée par Google Ad Manager.
exp Obligatoire Code temporel d'expiration de ce jeton, en secondes.
network_code Obligatoire si le paramètre custom_asset_key est fourni. Code de réseau Ad Manager 360 pour ce réseau.
pod_id Obligatoire si le paramètre ad_break_id n'est pas fourni. Identifiant numérique de la coupure publicitaire.
pd Obligatoire, sauf pour les événements pour lesquels les coupures publicitaires sans durée sont activées. Durée de la coupure publicitaire en millisecondes.
scte35 Facultatif Signal SCTE-35 encodé en base64 pour la coupure publicitaire.

Créer une chaîne de jeton

listez chaque paramètre par ordre alphabétique, au format name=value, avec chaque paire nom/valeur séparée par un tilde (~).

Les paramètres facultatifs sans valeur peuvent être laissés en place avec une chaîne vide pour la valeur ou supprimés entièrement.

Format de la chaîne de jetons

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

Générer une signature HMAC

La signature HMAC est un hachage SHA-256 de la chaîne de jeton au format HEX. La clé secrète est la clé d'authentification HMAC associée à votre événement en direct dans Google Ad Manager.

Chaîne de jeton de signature

Une fois la signature HMAC générée, ajoutez-la à la chaîne de jeton au format suivant :

~hmac={HMAC signature}

Encoder la chaîne de jeton au format URL

Ce jeton est transmis en tant que paramètre d'URL. Il doit donc être encodé en URL pour des raisons de sécurité.

Exemple 1

Voici un exemple où les paramètres facultatifs inutilisés sont inclus sous forme de chaînes vides.

Chaîne de jetons

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

Clé secrète

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Signature HMAC

ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Jeton signé

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

Jeton signé encodé au format URL :

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

Exemple 2

Voici un exemple où les variables facultatives non renseignées sont entièrement omises.

Chaîne de jetons

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Clé secrète
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Signature HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Jeton signé

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

Jeton signé encodé au format URL

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

Exemple 3

Voici un exemple avec ad_break_id.

Chaîne de jetons

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000
Clé secrète
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Signature HMAC
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

Jeton signé

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

Jeton signé encodé au format URL

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