Générer un jeton HMAC signé

Chaque demande de segment effectuée via la diffusion de séries d'annonces de redirection de segment doit inclure un paramètre Jeton signé HMAC pour l'authentification, s'il n'est pas utilisé les notifications anticipées en cas de coupure publicitaire.

Ce jeton peut être calculé une fois par coupure publicitaire et partagé avec tous les flux. sessions.

Collecter les paramètres du jeton

Collectez les informations suivantes à partir de la coupure publicitaire en cours afin de renseigner le champ le corps du jeton.

Paramètres des jetons
custom_asset_key Obligatoire Clé d'élément de diffusion en direct personnalisée, provenant de Google Ad Manager.
cust_params Facultatif Paramètres de ciblage personnalisé. Consultez les cust_params.
exp Obligatoire Horodatage d'expiration de ce jeton, en secondes.
network_code Obligatoire Code Ad Manager 360 de ce réseau.
pod_id Obligatoire Identifiant de la coupure publicitaire. La valeur doit être un nombre entier commençant à 1, puis augmenter d'une unité pour chaque coupure publicitaire.

<ph type="x-smartling-placeholder"></ph> Cette valeur doit être identique pour tous les utilisateurs qui voient la même coupure publicitaire dans l'événement en cours.

pd Obligatoire, sauf pour les événements pour lesquels des coupures publicitaires sans durée sont activées. Durée de la coupure publicitaire, en millisecondes. Évoqué ci-dessus en tant que ad_pod_duration
scte35 Facultatif Signal SCTE-35 encodé en base64. Il est de la responsabilité du client de s'assurer que le signal est correct. S'il est incorrect, un message est envoyé au En-tête HTTP X-Ad-Manager-Dai-Warning dans la réponse et dans l' est tout de même propagé pour créer une coupure publicitaire. Consultez les marqueurs d'annonce pour en savoir plus sur la façon dont l'insertion dynamique d'annonces utilise le signal SCTE-35.

Créer une chaîne de jeton

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

Les paramètres facultatifs sans valeur peuvent être conservés avec une chaîne vide pour la valeur, soit complètement supprimé.

format de la chaîne de jeton

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 du jeton au format HEX. La la clé secrète est Clé d'authentification HMAC associé à votre événement diffusé en direct dans Google Ad Manager.

Chaîne du jeton de signature

Une fois la signature HMAC générée, ajoutez-la à la chaîne du jeton dans format

~hmac={HMAC signature}

Chaîne de jeton d'encodage d'URL

Ce jeton est transmis en tant que paramètre d'URL. Pour des raisons de sécurité, il doit donc être encodé au format URL.

Exemple 1

Voici un exemple dans lequel les paramètres facultatifs inutilisés sont inclus comme vides. de chaînes.

Chaîne de jeton

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

Clé secrète

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Signature HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Jeton signé

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

Jeton signé encodé en URL:

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

Exemple 2

Dans cet exemple, les variables facultatives non renseignées sont entièrement omises.

Chaîne de jeton

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~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é en URL

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