Métadonnées utilisateur user-metadata
Introduction intro
La fonction Métadonnées utilisateur permet aux programmeurs d’accéder à différents types de données spécifiques à l’utilisateur gérées par les MVPD. Les types de métadonnées utilisateur incluent des codes postaux, des évaluations parentales, des ID utilisateur, etc. Utilisateur Les métadonnées sont une extension des static métadonnées (jeton d’authentification TTL, jeton d’autorisation TTL et ID de périphérique).
Points clés des métadonnées utilisateur :
- Transmis à l’application du programmeur pendant les flux d’authentification et d’autorisation
- Les valeurs sont enregistrées dans le jeton
- Les valeurs peuvent être normalisées si différents MVPD fournissent des données dans différents formats.
- Certains paramètres peuvent être chiffrés à l’aide de la clé du programmeur (par exemple, le code postal).
- Des valeurs spécifiques sont disponibles par Adobe, via un changement de configuration.
Obtention des métadonnées utilisateur obtaining
Les métadonnées utilisateur sont disponibles pour les programmeurs via AccessEnabler getMetadata()
et via la fonction /usermetadata
point d’entrée dans l’API sans client. Reportez-vous à la documentation de l’API de plateforme pour plus d’informations sur l’utilisation de getMetadata()
et son rappel correspondant setMetadataStatus()
(ou pour les points de terminaison et les paramètres utilisés dans l’API sans client).
Les programmeurs obtiennent des métadonnées en fournissant une clé pour le type de métadonnées qu’ils souhaitent obtenir : getMetadata(key)
.
Les métadonnées sont renvoyées comme suit : setMetadataStatus(key, encrypted, data)
:
key
encrypted
data
La structure du paramètre de données, les valeurs varient selon les types :
zip
householdID
userID
maxRating
VCHIP : "X",
URL : "http://manage.my/parental" }
userID
userID
sera différent de householdID
.channelID
is_hoh
encryptedZip
typeID
primaryOID
typeID
est Principal, contient la valeur de la variable userID
Important : Les métadonnées utilisateur réelles disponibles pour un programmeur dépendent de ce qu’un MVPD rend disponible. Les conventions légales doivent être signées avec les MVPD pour que les métadonnées utilisateur sensibles (comme le code postal) soient mises à disposition dans l’environnement de production.
Le hachage dans ce cas a été effectué pour des raisons historiques.
Cet identifiant peut être un identifiant de foyer ou un identifiant de sous-compte. Cela n’est généralement pas spécifié, il s’agit simplement de l’identifiant associé à la connexion qui était utilisé à l’époque (qui peut être un compte principal ou secondaire).
L’ID peut également contenir des stratégies de surveillance de la simultanéité.
Pour la plupart des MVPD, cette valeur est égale à l’ID utilisateur.
Il est parfois utilisé comme substitut des contrôles parentaux si de vrais évaluations ne sont pas disponibles (si l’utilisateur a été connecté avec le compte du foyer qu’il peut regarder, sinon le contenu noté ne s’afficherait pas).
Il y a beaucoup de différences entre les distributeurs multicanaux de programmes audiovisuels pour la manière dont cela est représenté - ID utilisateur du ménage, ID de chef de famille, Indicateur du chef de famille, etc.
ID de type = Indicateur qui identifie si le compte utilisateur est un compte principal/secondaire
OID Principal = Identifiant du foyer. Si TypeID est Principal, contient la valeur de userID.
Comporte des évaluations MPAA ou VCHIP
Veuillez noter que l’autorisation de contrôle en amont offre généralement plus de flexibilité pour ce cas d’utilisation et doit être utilisée à la place.
La spécification OLCA permet cela sous la forme d’une instruction AttributeStatement dans la réponse AuthN.
Peut également être fourni avec la réponse AuthZ pour les mises à jour rapides.
Données sensibles, besoins d’accords juridiques MVPD
Métadonnées disponibles available_metadata
Le tableau suivant présente l’état actuel des métadonnées utilisateur dans l’écosystème d’authentification Adobe Pass :
Accord
Signé (zip uniquement)
sur AuthN
sur AuthN/Z
sur AuthN/Z
ID sur AuthN/Z
userID
zip
maxRating
householdID
channelID
2. Pour AuthZ : il n’existe pas de méthode générique, car l’implémentation des autorisations est spécifique au MVPD.
Il s’agit d’une prise en charge générique de Synacor, qui peut ne pas être cumulée à tous les MVPD.
MVPD
Pour tous les MVPD, l’ID utilisateur est disponible sans travail supplémentaire.
La liste des types de métadonnées utilisateur sera étendue à mesure que de nouveaux types seront disponibles et ajoutés au système d’authentification Adobe Pass.
Exemples de code code_samples
Exemple de code 1 code_sample1
// Assuming a reference to the AccessEnabler has been previously obtained and stored in the "ae" variable
ae.setRequestor("SITE");
ae.checkAuthentication();
function setAuthenticationStatus(status, reason) {
if(status ==1) {
// User is authenticated, request metadata
ae.getMetadata("zip");
ae.getMetadata("maxRating");
} else {
...
}
}
// Implement the setMetadataStatus() callback
function setMetadataStatus(key, encrypted, data) {
if(encrypted) {
// The metadata value is encrypted
// Needs to be decrypted by the programmer
data = decrypt(data);
}
alert(key + "=" + data);
}
Exemple de code 2 (Mock getMetadata) code_sample2
// Assuming a reference to the AccessEnabler has been
// previously obtained and stored in the "ae" variable
// Mock the getMetadata() method
var aeMock = {
getMetadata: function(key) {
var data = null;
// Set mock data based on the received key,
// according to the format in the spec
switch(key) {
case 'zip':
data = [ "1235", "23456" ];
break;
case 'maxRating':
data = { "MPAA": "PG-13", "VCHIP": "TV-14" };
break;
default:
break;
}
// Call the metadata status just like AccessEnabler does
setMetadataStatus(key, false, data);
}
}
ae.setRequestor("SITE");
ae.checkAuthentication();
function setAuthenticationStatus(status, reason) {
if (status == 1) {
// User is authenticated, request metadata using mock object
aeMock.getMetadata("zip");
aeMock.getMetadata("maxRating");
} else {
...
}
}
// Implement the setMetadataStatus() callback
function setMetadataStatus(key, encrypted, data) {
if (encrypted) {
// The metadata value is encrypted, so it
// needs to be decrypted by the programmer
data = decrypt(data);
}
alert(key + "=" + data);
}