Metadati utente user-metadata
Introduzione intro
La funzione User Metadata consente ai programmatori di accedere a diversi tipi di dati specifici dell'utente gestiti da MVPD. I tipi di metadati utente includono codici postali, valutazioni dei genitori, ID utente e altro ancora. Utente i metadati sono un’estensione del file precedentemente disponibile statico metadati (TTL del token di autenticazione, TTL del token di autorizzazione e ID dispositivo).
Punti chiave metadati utente:
- Trasmesso all’applicazione del programmatore durante i flussi di autenticazione e autorizzazione
- I valori vengono salvati nel token
- I valori possono essere normalizzati se diversi MVPD forniscono dati in formati diversi
- Alcuni parametri possono essere crittografati utilizzando la chiave del programmatore (ad esempio il codice postale)
- Valori specifici sono resi disponibili da Adobe tramite una modifica alla configurazione
Ottenimento dei metadati utente obtaining
I metadati utente sono disponibili per i programmatori tramite AccessEnabler getMetadata()
e tramite il /usermetadata
nell’API senza client. Per informazioni dettagliate sull’utilizzo di, consulta la documentazione dell’API della piattaforma. getMetadata()
e il callback corrispondente setMetadataStatus()
(o per gli endpoint e i parametri utilizzati nell’API senza client).
I programmatori ottengono i metadati fornendo una chiave per il tipo di metadati che desiderano ottenere: getMetadata(key)
.
I metadati vengono restituiti come segue: setMetadataStatus(key, encrypted, data)
:
key
encrypted
data
La struttura del parametro dati, i valori variano tra i tipi:
zip
householdID
userID
maxRating
VCHIP: "X",
URL: "http://manage.my/parental" }
userID
userID
sarà diverso da householdID
.channelID
is_hoh
encryptedZip
typeID
primaryOID
typeID
è Primario, conterrà il valore del userID
Importante: I metadati utente effettivi disponibili per un programmatore dipendono da ciò che viene reso disponibile da un MVPD. Prima di rendere disponibili nell'ambiente di produzione i metadati sensibili degli utenti (come zipcode), è necessario firmare accordi legali con gli MVPD.
L'hashing in questo caso è stato fatto per ragioni storiche
Questo ID potrebbe essere un ID famiglia o un ID account secondario. Generalmente non è specificato, ma è solo l’ID associato all’accesso utilizzato in quel momento (che può essere un account principale o secondario)
L’ID può contenere anche criteri di monitoraggio della concorrenza
Per la maggior parte degli MVPD questo valore è uguale all’ID utente
A volte viene utilizzato come sostituto del Controllo genitori se le valutazioni vere non sono disponibili (se l’utente ha effettuato l’accesso con l’account domestico che può guardare, altrimenti il contenuto classificato non verrebbe visualizzato)
Il modo in cui viene rappresentato dagli MVPD varia notevolmente: ID utente della famiglia, ID del responsabile della famiglia, flag del responsabile della famiglia, ecc.
ID tipo = Flag che identifica se l’account utente è primario/secondario
OID primario = identificatore della famiglia. Se TypeID è Primary, conterrà il valore di userID
Ha valutazioni MPAA o VCHIP
L'autorizzazione di verifica preliminare consente una maggiore flessibilità per questo caso d'uso e deve essere utilizzata in alternativa
La specifica OLCA lo consente come AttributeStatement nella risposta AuthN
Può essere fornito anche con la risposta AuthZ per aggiornamenti rapidi
Dati sensibili, richiede accordi legali MVPD
Metadati disponibili available_metadata
La tabella seguente illustra lo stato corrente dei metadati dell’utente nell’ecosistema di autenticazione di Adobe Pass:
Contratto
Firmato (solo zip)
su AuthN
su AuthN/Z
su AuthN/Z
ID su AuthN/Z
userID
zip
maxRating
householdID
channelID
2. Per AuthZ: non esiste una modalità generica, perché l’implementazione dell’autorizzazione è specifica per MVPD
Si tratta di un supporto generico per Synacor, che probabilmente non include tutti i MVPD.
MVPD
Per tutti gli MVPD, l'ID utente è disponibile senza alcun lavoro aggiuntivo.
L’elenco dei tipi di metadati utente verrà espanso man mano che nuovi tipi saranno disponibili e aggiunti al sistema di autenticazione di Adobe Pass.
Esempi di codice code_samples
Esempio di codice 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);
}
Esempio di codice 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);
}