Metadatos del usuario user-metadata

NOTE
El contenido de esta página se proporciona únicamente con fines informativos. El uso de esta API requiere una licencia actual de Adobe. No se permite el uso no autorizado.

Introducción intro

La función de metadatos de usuario permite a los programadores acceder a diferentes tipos de datos específicos del usuario que mantienen las MVPD. Los tipos de metadatos de usuario incluyen códigos postales, clasificaciones parentales, ID de usuario y más. Usuario Los metadatos son una extensión de la variable disponible anteriormente. estático metadatos (TTL del token de autenticación, TTL del token de autorización e ID de dispositivo).

Puntos clave de metadatos de usuario:

  • Pasado a la aplicación del programador durante los flujos de autenticación y autorización
  • Los valores se guardan en el token
  • Los valores se pueden normalizar si diferentes MVPD proporcionan datos en diferentes formatos
  • Algunos parámetros se pueden cifrar con la clave del programador (por ejemplo, código postal)
  • Los valores específicos están disponibles por Adobe, a través de un cambio de configuración

Obtención de metadatos de usuario obtaining

Los metadatos de usuario están disponibles para los programadores mediante AccessEnabler getMetadata() y a través de la /usermetadata en la API sin cliente. Consulte la documentación de la API de la plataforma para obtener más información sobre el uso de getMetadata() y su llamada de retorno correspondiente setMetadataStatus() (o para los puntos de conexión y parámetros utilizados en la API sin cliente).

Los programadores obtienen metadatos proporcionando una clave para el tipo de metadatos que desean obtener: getMetadata(key).

Los metadatos se devuelven de la siguiente manera: setMetadataStatus(key, encrypted, data):

Parámetro
Tipo
Descripción
key
Cadena
Especifica el tipo de metadatos solicitado
encrypted
Booleano
Un indicador booleano que indica si el "valor" está cifrado o no. Si es "true", "value" será en realidad una representación cifrada con web JSON del valor real.
data
Objeto
Un objeto JSON que contiene la representación de los metadatos

La estructura del parámetro de datos y los valores varían entre tipos:

Clave
Tipo de valor
Muestra
Descripción
zip
Matriz JSON
["77754", "12345"]
Código postal
householdID
Cadena JSON
"1o7241p"
Identificador del hogar. Si la MVPD no admite subcuentas, será idéntico a userID
maxRating
Objeto JSON
{ MPAA: "NR",
VCHIP: "X",
URL: "http://manage.my/parental" }
Clasificación paterna máxima para el usuario
userID
Cadena JSON
"1o7241p"
El identificador de usuario. En caso de que una MVPD admita subcuentas y el usuario no sea la cuenta principal, userID será diferente a householdID.
channelID
Matriz JSON
["channel-1", "channel-2" ]
Una lista de canales que un usuario puede ver
is_hoh
Cadena JSON
"1"
Un indicador que identifica si un usuario es el cabeza de familia
encryptedZip
Cadena JSON
""
Comcast expone el código postal cifrado
typeID
Cadena JSON
Principal
Un indicador que identifica si la cuenta de usuario es la cuenta principal/secundaria
primaryOID
Cadena JSON
"uuidd1e19ec9-012c-124f-b520-acaf118d16a0"
Identificador del hogar. If typeID es Principal, contendrá el valor del userID
hba_status
Booleano
"true" "false"
Un indicador booleano que indica si la autenticación basada en inicio está habilitada para una integración en particular
allowMirroring
Booleano
"true" "false"
Indica si se permite o no la duplicación de pantalla para este dispositivo
NOTE
Nota: Si el parámetro de datos está cifrado, como suele suceder con el parámetro de datos clave de zip, la representación de la clave de metadatos será una cadena JSON en lugar de una matriz o un objeto.

Importante: Los metadatos de usuario reales disponibles para un programador dependen de lo que una MVPD ponga a disposición. Se deben firmar acuerdos legales con MVPD antes de que los metadatos confidenciales del usuario (como el código postal) estén disponibles en el entorno de producción.

Nombre
Detalles
Requiere cifrado
Comentarios
ID de usuario
Según lo dispuesto por la MVPD
No
Este es el valor al que luego se le aplica un hash mediante Adobe y que se expone en el token de medios y en la llamada de retorno sendTrackingData().

El hash en este caso se realizó por motivos históricos

Este ID puede ser un ID doméstico o un ID de subcuenta. Normalmente no se especifica, solo es el ID vinculado al inicio de sesión que se utilizó en el momento (que puede ser uno principal o una subcuenta)
ID de usuario ascendente
Proporcionado por la MVPD para utilizarse únicamente para flujos de supervisión de concurrencia
No
Este valor se utiliza al aplicar límites de concurrencia en los sitios y las aplicaciones de MVPD y Programador.

El ID también puede contener políticas de monitorización de concurrencia

Para la mayoría de las MVPD, este valor es igual al ID de usuario
ID de usuario doméstico
Suministrado por la MVPD para ser utilizado principalmente para flujos de Control Parental
No
ID que permite a los programadores comprender el uso doméstico frente al de subcuentas.

A veces se utiliza como sustituto de Control parental si no hay clasificaciones verdaderas disponibles (si el usuario ha iniciado sesión con la cuenta del hogar que puede ver, de lo contrario, el contenido clasificado no se muestra)

Hay muchas variaciones entre las MVPD para la forma en que se representa: ID de usuario doméstico, ID de cabeza de familia, bandera de cabeza de familia, etc.
Cabeza de familia
Indicador que indica si la cuenta corriente es cabeza de familia o no
No
véase más arriba
ID de tipo/ID principal
Identificadores de cuenta del hogar
No
Indicadores específicos de AT&T para cabeza de familia.

ID de tipo = indicador que identifica si la cuenta de usuario es la cuenta principal/secundaria

OID principal = Identificador del hogar. Si TypeID es Primary, contendrá el valor de userID
Clasificación máxima
Clasificación máxima permitida para la cuenta actual
No
Permite a los programadores filtrar el contenido que no es adecuado para la cuenta de.

Tiene clasificaciones MPAA o VCHIP
Línea de canales
Lista de canales disponibles en el paquete del usuario
No
Se utiliza para permitir o quitar rápidamente varios canales de los portales que agregan varias redes

Tenga en cuenta que la autorización de verificación previa generalmente permite una mayor flexibilidad para este caso de uso y debe usarse en su lugar

La especificación OLCA lo permite como AttributeStatement en la respuesta AuthN
Estado de HBA
Indica si se ha producido la autenticación mediante HBA
No
Código postal
Código postal de facturación del usuario
Se utiliza para eventos deportivos o de difusión

También se puede proporcionar con la respuesta AuthZ para actualizaciones rápidas

Datos confidenciales, necesita acuerdos legales de MVPD
Código postal cifrado
Código postal de facturación del usuario (Comcast)
Como arriba pero cifrado por Comcast
Idioma
Configuración de idioma del usuario
No
Se utiliza para mostrar mensajes según las preferencias del usuario
Permitir creación de reflejo
Indica si se permite o no la duplicación de pantalla para este dispositivo
No

Metadatos disponibles available_metadata

La siguiente tabla muestra el estado actual de los metadatos de usuario en el ecosistema de autenticación de Adobe Pass:

Legal ​

Acuerdo ​

Firmado (solo zip)
ID de usuario ​

en AuthN
Código postal ​

en AuthN/Z
Clasificación ​

en AuthN/Z
Hogar ​

ID en AuthN/Z
ID de canal en AuthN
Cabeza de familia en AuthN
Escribir ID en AuthN
OID principal en AuthN
Idioma
UserID ascendente en AuthN
Estado de HBA
OnNet
inHome
Permitir creación de reflejo en AuthZ
Notas
Nombre formal
n/a
userID
zip
maxRating
householdID
channelID
is_hoh
typeID
primaryOID
idioma
upstreamUserID
hba_status
onNet
inHome
allowMirroring
1. Para AuthN: el analizador OiosamlMetadataParser debe cambiarse para que todos los analizadores tengan este nuevo atributo habilitado
2. Para AuthZ: no hay una forma genérica, ya que la implementación de autorización es específica de MVPD
Cifrado obligatorio
n/a
No
No
No
No
No
No
No
No
No
No
No
No
No
Sensible
n/a
No
No
No
No
No
No
No
No
No
No
No
No
IdP de Adobe
Sí (solo AuthN)
Sí (solo AuthN)
Sí (solo AuthN)
No
No
No
No
No
No se necesita ningún acuerdo legal. Se puede habilitar.
Synacor
Sí (solo AuthN)
Sí (solo AuthN)
Sí (solo AuthN)
No
No
No
No
No
No
No
Acuerdo legal que no cubre todas las MVPD proxy.
Se trata de una compatibilidad genérica con Synacor; posiblemente no se acumule en todas sus MVPD.
Plato
No
Sí (solo AuthN)
Sí (solo AuthN)
Sí (solo AuthN)
No
No
No
No
No
No
No
No
Comparte la misma lista que todas las MVPD de Synacor, además de upstreamUserID.
Comcast
No
No
Sí (solo AuthZ)
Sí (solo AuthZ)
No
No
No
No
No
No
No
No
AT&T
Sí (solo AuthN)
No
Sí (solo AuthN)
No
No
No
No
No
No
No
Acuerdo legal firmado.
Cablevision
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
No
Acuerdo legal firmado.
HTC
No
No
No
No
No
No
No
No
No
No
No
No
Proxy Massilon
Sí (solo AuthN)
No
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
Acuerdo legal firmado.
Borrado de proxy
Sí (solo AuthN)
Sí (solo AuthZ)
No
No
No
No
No
No
No
No
No
Acuerdo legal firmado.
Rogers
No
No
No
No
No
No
No
No
No
No
No
No
No
RCN
Sí (solo AuthN)
Sí (solo AuthN)
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
Carta
Sí (solo AuthN)
Sí (solo AuthN)
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
Verizon
No
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
No
Eastlink
No
Sí (solo AuthN)
Sí (solo AuthN)
Sí (solo AuthN)
No
No
No
No
No
No
No
No
GLDS de proxy
No
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
No
No
DTV
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
No
No
COX
No
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
No
No
Cogeco
No
Sí (solo AuthN)
No
Sí (solo AuthN)
No
No
No
No
No
No
No
No
No
Videotron
No
Sí (solo AuthN)
No
*
No
No
No
No
No
No
No
No
No
Expone householdID con el mismo valor que userID
Espectro
Sí (solo AuthN)
Sí (solo AuthN)
Sí (solo AuthN)
No
No
No
No
No
No
No
Todos los demás ​

MVPD
No
No
No
No
No
No
No
No
No
No
No
No
No
Aún no hay ningún acuerdo legal. Los metadatos confidenciales no están disponibles para la producción.
Para todas las MVPD, el ID de usuario está disponible sin trabajo adicional.

La lista de tipos de metadatos de usuario se ampliará a medida que haya nuevos tipos disponibles y añadidos al sistema de autenticación de Adobe Pass.

Ejemplos de código code_samples

Ejemplo de código 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);
    }

Ejemplo de código 2 (simulación de 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);
    }
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b