Metagegevens gebruiker user-metadata
Inleiding intro
De eigenschap van Meta-gegevens van de Gebruiker laat programmeurs toe om tot verschillende types van gebruiker-specifieke gegevens toegang te hebben die door MVPDs worden gehandhaafd. De meta-gegevenstypes van de gebruiker omvatten postcodes, ouderlijke classificaties, gebruiker - IDs, en meer. meta-gegevens van de Gebruiker 1} is een uitbreiding aan de eerder beschikbare statische meta-gegevens (het teken van de Authentificatie TTL, het teken van de Toestemming TTL, en identiteitskaart van het Apparaat).
Belangrijke punten van metagegevens van gebruiker:
- Voldoet aan de aanvraag van de programmeur tijdens de verificatie- en machtigingsstromen
- Waarden worden opgeslagen in de token
- De waarden kunnen worden genormaliseerd als de verschillende MVPDs gegevens in verschillende formaten verstrekken
- Sommige parameters kunnen worden gecodeerd gebruikend de sleutel van de Programmer (b.v. zip code), zie Certificaat van Metagegevens van de Gebruiker voor encryptievoor de generatie van het encryptiecertificaat
- Specifieke waarden worden door de Adobe beschikbaar gesteld via een configuratiewijziging
Gebruikersmetagegevens verkrijgen obtaining
De meta-gegevens van de gebruiker is beschikbaar aan Programmeurs via de functie AccessEnabler getMetadata()
en via het /usermetadata
eindpunt in Clientless API. Raadpleeg de API-documentatie van het platform voor meer informatie over het gebruik van getMetadata()
en de bijbehorende callback setMetadataStatus()
(of voor de eindpunten en parameters die worden gebruikt in de API zonder client).
Programmeurs krijgen metagegevens door een sleutel op te geven voor het type metagegevens dat ze willen verkrijgen: getMetadata(key)
.
De metagegevens worden als volgt geretourneerd: setMetadataStatus(key, encrypted, data)
key
encrypted
data
De structuur van de gegevensparameter, de waarden variëren tussen types:
zip
householdID
userID
maxRating
VCHIP: "X",
URL: "http://manage.my/parental" }
userID
userID
anders zijn dan householdID
.channelID
is_hoh
encryptedZip
typeID
primaryOID
typeID
Primair is, bevat deze de waarde van userID
Belangrijk: de daadwerkelijke Meta-gegevens van de Gebruiker beschikbaar aan een Programmer hangt van af wat MVPD beschikbaar maakt. Er moeten juridische overeenkomsten worden gesloten met MVPD's voordat gevoelige gebruikersmetagegevens (zoals zipcode) beschikbaar worden gesteld in de productieomgeving.
het hashing in dit geval werd gedaan om historische redenen
Deze identiteitskaart kon huisidentiteitskaart of een sub-rekening identiteitskaart zijn. Dit wordt typisch niet gespecificeerd, is het enkel identiteitskaart verbonden aan login die op het ogenblik werd gebruikt (die primaire één of subaccount kan zijn)
identiteitskaart kan gelijktijdig controlebeleid bevatten evenals
voor de meeste MVPDs is deze waarde gelijk aan identiteitskaart
het wordt soms gebruikt als Ouderlijke vervanger van Controles als ware classificaties niet beschikbaar zijn (als de gebruiker met de huisrekening het programma werd geopend kunnen zij kijken, anders verklaarde inhoud niet worden getoond)
Er is veel variatie over MVPDs voor hoe dit wordt vertegenwoordigd - huisgebruiker - identiteitskaart, hoofd van huisidentiteitskaart, hoofd van huisvlag enz.
identiteitskaart van het Type = Vlag die identificeert als de gebruikersrekening primaire/secundaire rekening
Primaire OID = Huishoudelijke herkenningsteken is. Als TypeID Primair is, bevat deze de waarde van de gebruikersnaam
heeft ratings MPAA of VCHIP
bijeenvoegen gelieve nota te nemen dat de Preflight vergunning over het algemeen meer flexibiliteit voor dit geval toestaat en in plaats daarvan
zou moeten worden gebruikt de specificatie OLCA staat voor dit als AttributeStatement in de reactie AuthN toe
kan ook met de Reactie AuthZ voor snelle updates
Gevoelige gegevens worden verstrekt, behoeften juridische overeenkomsten MVPD
Beschikbare metagegevens available_metadata
In de volgende tabel wordt de huidige status van metagegevens van gebruikers in het Adobe Pass-verificatiesysteem beschreven:
op AuthN
op AuthN/Z
op AuthN/Z
identiteitskaart op AuthN/Z
userID
zip
maxRating
householdID
channelID
hebben. Voor AuthZ - Er is geen generische manier, omdat de vergunningsimplementatie MVPD-specifiek is
dit is generische steun voor Synacor - misschien niet opgebouwd tot al hun MVPDs.
MVPDs
voor alle MVPDs, is de identiteitskaart van de Gebruiker beschikbaar zonder extra werk.
De lijst met gebruikermetagegevenstypen wordt uitgebreid wanneer nieuwe typen beschikbaar worden gemaakt en worden toegevoegd aan het Adobe Pass-verificatiesysteem.
Codevoorbeelden code_samples
Codevoorbeeld 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);
}
Codevoorbeeld 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);
}