Référence de l’API SDK JavaScript (héritée)
- Rubriques :
- Authentification
Référence d’API
Ces fonctions lancent des demandes d’interaction avec un MVPD. Tous les appels sont asynchrones ; vous devez implémenter des rappels pour gérer les réponses :
setRequestor (inRequestorID, points d’entrée, options)
Description : identifie le site d’où proviennent les requêtes. Vous devez effectuer cet appel avant tout autre appel API dans une session de communication.
Paramètres:
-
inRequestorID - Identifiant unique attribué par l’Adobe au site d’origine lors de l’enregistrement.
-
endpoints - Ce paramètre est facultatif. Il peut s’agir de l’une des valeurs suivantes :
- Un tableau qui vous permet de spécifier des points d’entrée pour les services d’authentification et d’autorisation fournis par Adobe (différentes instances peuvent être utilisées à des fins de débogage). Si plusieurs URL sont fournies, la liste MVPD est composée des points d’entrée de tous les fournisseurs de services. Chaque MVPD est associé au fournisseur de services le plus rapide, c’est-à-dire le fournisseur qui a répondu en premier et qui prend en charge ce MVPD. Par défaut (si aucune valeur n’est spécifiée), le fournisseur Adobe est utilisé (http://sp.auth.adobe.com/).
Exemple :
setRequestor("IFC", ["http://sp.auth-dev.adobe.com/adobe-services"])
-
options - Objet JSON contenant la valeur de l’ID d’application, la valeur de l’ID de visiteur sans actualisation (déconnexion en arrière-plan) et les paramètres MVPD (iFrame). Toutes les valeurs sont facultatives.
- Si spécifié, l’identifiant visiteur Experience Cloud est signalé sur tous les appels réseau effectués par la bibliothèque. La valeur peut être utilisée ultérieurement pour les rapports d’analyse avancée.
- Si l’identifiant unique de l’application est spécifié -
applicationId
- la valeur sera ajoutée à tous les appels suivants effectués par l’application dans le cadre de l’en-tête HTTP X-Device-Info. Cette valeur peut être récupérée ultérieurement à partir des rapports ESM à l’aide de la requête appropriée.
Remarque : toutes les clés JSON sont sensibles à la casse.
Exemple :
setRequestor("IFC", {
"visitorID": "THE_ECID_VALUE",
"applicationId": "APP_ID_VALUE"
})
- Le programmeur peut remplacer les paramètres MVPD configurés dans l’authentification Adobe Pass, en spécifiant si un iFrame est requis ou non pour la connexion (clé iFrameRequired) et les dimensions iFrame (clés iFrameWidth et iFrameHeight). L’objet JSON possède le modèle suivant :
{
"visitorID": <string>,
"backgroundLogin": <boolean>,
"backgroundLogout": <boolean>,
"mvpdConfig":{
"MVPD_ID_1":{
"iFrameRequired": <boolean>,
"iFrameWidth": <integer>,
"iFrameHeight": <integer>
},
...
"MVPD_ID_N":{
"iFrameRequired": <boolean>,
"iFrameWidth": <integer>,
"iFrameHeight": <integer>
}
}
}
Toutes les clés de niveau supérieur dans le modèle ci-dessus sont facultatives et ont des valeurs par défaut (backgroundLogin, backgroundLogut sont false par défaut et mvpdConfig est null, ce qui signifie qu’aucun paramètre MVPD n’est remplacé).
- Remarque : la spécification de valeurs/types non valides pour les paramètres ci-dessus entraîne un comportement non défini.
Voici un exemple de configuration pour le scénario suivant : activation de la connexion et de la déconnexion sans actualisation, changement de MVPD1 en connexion de redirection complète de page (hors iFrame) et MVPD2 en connexion iFrame avec une largeur=500 et une hauteur=300 :
{
"backgroundLogin": true,
"backgroundLogout": true,
"mvpdConfig":{
"MVPD1":{
"iFrameRequired": false
},
"MVPD2":{
"iFrameRequired": true,
"iFrameWidth": 500,
"iFrameHeight": 300
}
}
}
Rappels déclenchés : setConfig()
getAuthorization(inResourceID, redirect_url)
Description : demande l’autorisation pour la ressource spécifiée. Chaque fois qu’un client ou une cliente tente d’accéder à une ressource autorisable, appelez cette fonction pour obtenir un jeton d’autorisation de courte durée auprès de l’activateur d’accès. Les identifiants de ressource sont convenus avec le MVPD qui fournit l’autorisation.
Utilise le jeton d’authentification mis en cache pour le client actuel. Si aucun jeton de ce type n’est trouvé, commence d’abord le processus d’authentification, puis continue avec l’autorisation.
Paramètres:
inResourceID
- Identifiant de la ressource pour laquelle l’utilisateur demande une autorisation.redirect_url
- Fournissez éventuellement une URL de redirection, de sorte que le processus d’autorisation de MVPD renvoie l’utilisateur à cette page plutôt qu’à la page à partir de laquelle l’autorisation a été lancée.
Rappels déclenchés : setToken() en cas de succès, tokenRequestFailed en cas d’échec
getAuthentication(redirect_url)
Description : demande l’authentification pour le client actuel. Généralement appelé en réponse à un clic sur un bouton de connexion. Recherche un jeton d’authentification mis en cache pour le client actuel. Si aucun jeton de ce type n’est trouvé, lance le processus d’authentification. Cela appelle la boîte de dialogue de sélection du fournisseur par défaut ou personnalisée, puis utilise le fournisseur sélectionné pour le rediriger vers l’interface de connexion de MVPD.
En cas de réussite, crée et stocke un jeton d’authentification pour l’utilisateur. Si l’authentification échoue, le fournisseur renvoie un message d’erreur approprié à votre rappel setAuthenticationStatus().
Paramètres:
- redirect_url - Fournissez éventuellement une URL de redirection, de sorte que le processus d’authentification MVPD renvoie l’utilisateur à cette page plutôt qu’à la page à partir de laquelle l’authentification a été lancée.
Rappels déclenchés : setAuthenticationStatus(), displayProviderDialog(), sendTrackingData()
checkAuthN
Description : vérifie le statut d’authentification actuel du client actuel. Non associé à une interface utilisateur.
Rappels déclenchés : setAuthentcationStatus()
checkAuthorization(inResourceID)
Description : cette méthode est utilisée par l’application pour vérifier le statut d’autorisation du client actuel et de la ressource donnée. Il commence par vérifier d’abord le statut de l’authentification. Si elle n’est pas authentifiée, le rappel tokenRequestFailed() est déclenché et la méthode se ferme. Si l’utilisateur est authentifié, cela déclenche également le flux d’autorisation. Voir les détails sur la méthode [getAuthorization()] (#getAuthZ.
Paramètres:
inResourceID
- Identifiant de la ressource pour laquelle l’utilisateur demande une autorisation.
Rappels déclenchés :
setToken(), tokenRequestFailed(), sendTrackingData(), setAuthenticationStatus()
checkPreauthorizedResources(resources)
Description : demande le statut d’autorisation de « contrôle en amont » pour une liste de
ressources.
Paramètres:
- resources : le paramètre resources est un tableau de ressources pour lequel l’autorisation doit être vérifiée. Chaque élément de la liste doit être une chaîne représentant l’identifiant de la ressource. L’ID de ressource est soumis aux mêmes limitations que l’ID de ressource dans l’appel
getAuthorization()
, c’est-à-dire qu’il s’agit d’une valeur convenue entre le programmeur et le MVPD, ou d’un fragment RSS de média.
checkPreauthorizedResources(resources-cache=true)
Cette variante d’API est disponible à partir de la version 4.0 de JS SDK
Paramètres:
-
resources : le paramètre resources est un tableau de ressources pour lequel l’autorisation doit être vérifiée. Chaque élément de la liste doit être une chaîne représentant l’identifiant de la ressource. L’ID de ressource est soumis aux mêmes limitations que l’ID de ressource dans l’appel
getAuthorization()
, c’est-à-dire qu’il s’agit d’une valeur convenue entre le programmeur et le MVPD, ou d’un fragment RSS de média. -
cache : permet de spécifier si le cache interne doit être utilisé lors de la recherche de ressources préautorisées. Ce paramètre est facultatif, il est défini par défaut sur true. Si le paramètre est true, le comportement est identique à celui de l’API ci-dessus, ce qui signifie que les appels suivants à cette fonction utiliseront un cache interne pour résoudre la ressource préautorisée. La transmission de false pour ce paramètre désactive le cache interne, ce qui entraîne un appel au serveur chaque fois que l’API checkPreauthorizedResources est appelée.
Rappels déclenchés : preauthorizedResources()
getMetadata(Key)
Description : récupère les informations exposées en tant que métadonnées par la bibliothèque Access Enabler.
Il existe deux types de métadonnées :
- Statique (TTL de jeton d’authentification, TTL de jeton d’autorisation et ID d’appareil)
- Métadonnées utilisateur (cela inclut les informations spécifiques à l’utilisateur ou à l’utilisatrice transmises par le MVPD à l’appareil de l’utilisateur ou de l’utilisatrice pendant les flux d’authentification et/ou d’autorisation)
Informations supplémentaires : Métadonnées utilisateur
Paramètres:
-
key : identifiant qui spécifie les métadonnées demandées :
-
Si la clé est
"TTL_AUTHN",
, la requête est effectuée pour obtenir le délai d’expiration du jeton d’authentification. -
Si la clé est
"TTL_AUTHZ"
et que params est un tableau contenant l’ID de ressource sous la forme d’une chaîne, la requête est exécutée pour obtenir le délai d’expiration du jeton d’autorisation associé à la ressource spécifiée. -
Si la clé est
"DEVICEID"
, la requête est effectuée pour obtenir l’identifiant d’appareil actuel. Notez que cette fonctionnalité est désactivée par défaut et les programmeurs doivent contacter l’Adobe pour plus d’informations sur l’activation et les frais. -
Si la clé figure dans la liste suivante des types de métadonnées utilisateur, un objet JSON contenant les métadonnées utilisateur correspondantes est envoyé à la fonction de rappel
setMetadataStatus()
: -
"zip"
- Code postal -
"encryptedZip"
- Code Postal Chiffré -
"householdID"
- Identifiant du ménage. Dans le cas où un MVPD ne prend pas en charge les sous-comptes, celui-ci est identique à l’ID utilisateur. -
"maxRating"
- Évaluation parentale maximale pour l'utilisateur -
"userID"
- Identifiant de l’utilisateur. Si un MVPD prend en charge les sous-comptes et que l’utilisateur n’est pas le compte principal, userID sera différent de householdID. -
"channelID"
- Liste des canaux que l’utilisateur est autorisé à afficher -
"is_hoh"
- Indicateur qui identifie si un utilisateur est le chef de ménage -
"encryptedZip"
- Code postal chiffré -
"typeID"
- Indicateur identifiant si le compte utilisateur est un compte principal/secondaire -
"primaryOID"
- Identifiant du ménage -
"postalCode"
- Similaire au code postal -
"acctID"
- ID de compte -
"acctParentID"
- ID parent du compte
Remarque : les métadonnées d’utilisateur réellement disponibles pour un programmeur dépendent de ce qu’un MVPD rend disponible. Consultez Métadonnées utilisateur pour obtenir la liste actuelle des métadonnées utilisateur disponibles.
-
Par exemple :
// Assume that 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 {
...
}
}
Rappels déclenchés : setMetadataStatus()
setSelectedProvider(providerid)
Description : appelez cette fonction lorsque l’utilisateur a sélectionné un MVPD dans l’interface utilisateur de sélection de fournisseur afin d’envoyer la sélection de fournisseur à Access Enabler ou appelez cette fonction avec un paramètre null au cas où l’utilisateur aurait ignoré l’interface utilisateur de sélection de fournisseur sans sélectionner de fournisseur.
Rappels
triggered: setAuthentcationStatus(), sendTrackingData()
getSelectedProvider()
Description : récupère les résultats de la sélection du client dans la boîte de dialogue de sélection du fournisseur. Vous pouvez l’utiliser à tout moment après la vérification de l’authentification initiale.
Cette fonction est asynchrone et renvoie son résultat à votre fonction de rappel selectedProvider()
.
- MVPD MVPD actuellement sélectionné ou valeur nulle si aucun MVPD n’a été sélectionné.
- AE_State résultat de l’authentification pour le client actuel : « Nouvel utilisateur », « Utilisateur non authentifié » ou « Utilisateur authentifié »
Rappels déclenchés : selectedProvider()
déconnexion
Description : déconnecte le client actuel, effaçant toutes les informations d’authentification et d’autorisation de cet utilisateur. Supprime tous les jetons authN et authZ du système du client.
Rappels déclenchés : setAuthentcationStatus()
Définition du rappel
Vous devez implémenter ces rappels pour gérer les réponses à vos appels de requête asynchrones :
eligibilityLoaded()
Description : déclenché lorsque l’activateur d’accès a terminé l’initialisation et est prêt à recevoir des requêtes. Mettez en œuvre ce rappel pour savoir quand vous pouvez commencer la communication avec l’API Access Enabler.
setConfig(configXML)
Description : implémentez ce rappel pour recevoir les informations de configuration et la liste MVPD.
Paramètres:
- configXML : objet xml contenant la configuration du DEMANDEUR actif, y compris la liste MVPD.
Déclenché par : setRequestor()
displayProviderDialog(providers)
Description : implémentez ce rappel pour appeler votre propre interface utilisateur personnalisée de sélection de fournisseur. Votre boîte de dialogue doit utiliser le nom d’affichage (et le logo facultatif) pour indiquer les choix du client ou de la cliente. Lorsque le client a fait un choix et a ignoré la boîte de dialogue, envoyez l’identifiant associé au fournisseur choisi dans l’appel à setSelectedProvider().
Paramètres:
- providers - Tableau d’objets représentant les fichiers MVPD demandés :
var mvpd = {
ID: "someprov",
displayName: "Some Provider",
logoURL: "http://www.someprov.com/images/logo.jpg"
}
Déclenché par : getAuthentication(), getAuthorization()
createIFrame(inWidth, inHeight)
Description : implémentez ce rappel si l’utilisateur a sélectionné un MVPD qui nécessite un iFrame pour afficher l’interface utilisateur de sa page de connexion d’authentification.
Déclenché par : setSelectedProvider()
setAuthenticationStatus(isAuthenticated, errorCode)
Description : implémentez ce rappel pour recevoir le statut d’authentification (1=authentifié ou 0=non authentifié) et un message d’erreur descriptif si une erreur s’est produite lors de la tentative de détermination du statut d’authentification (chaîne vide à la fin de la vérification).
Paramètres:
- isAuthenticated - Fournit le statut d’authentification : 1 (authentifié) ou 0 (non authentifié).
- errorCode - Toute erreur survenue lors de la détermination du statut d’authentification. Chaîne vide si aucune.
Déclenché par : checkAuthentication(), getAuthentication(), checkAuthorization()
sendTrackingData(trackingEventType, trackingData)
Description : implémentez ce rappel pour recevoir les données de suivi lorsque des événements spécifiques se produisent. Vous pouvez l’utiliser, par exemple, pour suivre le nombre d’utilisateurs qui se sont connectés avec les mêmes informations d’identification. Le tracking n’est actuellement pas configurable. Avec Adobe Pass Authentication 1.6, sendTrackingData()
signale également les informations sur l’appareil, le client Access Enabler et le type de système d’exploitation. Le rappel sendTrackingData()
reste rétrocompatible.
-
Valeurs possibles pour le type d’appareil :
- ordinateur
- tablette
- mobile
- console de jeux
- inconnu
-
Valeurs possibles pour le type de client Access Enabler :
- html5
- ios
- android
Transmet le type d’événement et un tableau d’informations associées. Les types d’événements sont les suivants :
setToken(inRequestedResourceID, inToken)
Description : implémentez ce rappel pour recevoir le jeton de média de courte durée (inToken) et l’identifiant de la ressource (inRequestedResourceID) pour laquelle une demande d’autorisation ou une demande de vérification d’autorisation a été effectuée et s’est terminée avec succès.
Déclenché par : checkAuthorization(), getAuthorization()
tokenRequestFailed(inRequestedResourceID, inRequestErrorCode, inRequestDetailedErrorMessage)
Description : implémentez ce rappel pour qu’il soit signalé lorsqu’une demande d’autorisation ou de vérification d’autorisation a échoué. Peut éventuellement être utilisé par un MVPD pour fournir un message personnalisé à afficher par le programmeur.
Paramètres:
- inRequestedResourceID - Chaîne fournissant l’identifiant de ressource utilisé dans la demande d’autorisation.
- inRequestErrorCode - Chaîne qui affiche le code d’erreur d’authentification Adobe Pass, indiquant la raison de l’échec. Les valeurs possibles sont « Erreur d’utilisateur non authentifié » et « Erreur d’utilisateur non autorisé ». Pour plus d’informations, consultez la section « Codes d’erreur de rappel » ci-dessous.
- inRequestDetailedErrorMessage - Chaîne descriptive supplémentaire pouvant être affichée. Si cette chaîne descriptive n’est disponible pour aucune raison, l’authentification Adobe Pass envoie une chaîne vide (« »). Il peut être utilisé par un MVPD pour transmettre des messages d’erreur personnalisés ou des messages liés aux ventes. Par exemple, si l’autorisation d’accès à une ressource est refusée à un abonné, le MVPD peut répondre avec une
*inRequestDetailedErrorMessage*
telle que : « Vous n’avez actuellement pas accès à ce canal dans votre package. Si vous souhaitez mettre à niveau votre package, cliquez sur *here*. » Le message est transmis par l’authentification Adobe Pass via ce rappel au site du programmeur. Le programmeur a alors la possibilité de l’afficher ou de l’ignorer. L’authentification Adobe Pass peut également utiliser*inRequestDetailedErrorMessage*
pour informer le programmeur de la condition qui a pu entraîner une erreur. Par exemple, « Une erreur réseau s’est produite lors de la communication avec le service d’autorisation du fournisseur ».
Déclenché par : checkAuthorization(), getAuthorization()
preauthorizedResources(authorizedResources)
Description : rappel déclenché par Access Enabler qui fournit la liste des ressources autorisées renvoyée après un appel à checkPreauthorizedResources()
.
Paramètres:
- authorizedResources : liste des ressources autorisées.
Déclenché par : checkPreauthorizedResources()
setMetadataStatus(key, encrypted, data)
Description : rappel déclenché par l’activateur d’accès qui fournit les métadonnées demandées par le biais d’un appel getMetadata()
.
Informations supplémentaires : Métadonnées utilisateur
Paramètres:
- key (chaîne) : clé des métadonnées pour lesquelles la requête a été effectuée.
- chiffré (booléen) : indicateur qui signale si la « valeur » est chiffrée ou non. Si cette valeur est définie sur « true », « value » est une représentation chiffrée par le Web JSON de la valeur réelle.
- data (objet JSON) : objet JSON avec la représentation des métadonnées. Pour les requêtes simples ('
TTL_AUTHN
', 'TTL_AUTHZ
', 'DEVICEID
'), le résultat est une chaîne (représentant la TTL d’authentification, la TTL d’autorisation ou l’ID d’appareil). Dans le cas d’une requête de métadonnées utilisateur, le résultat peut être un objet primitif ou JSON représentant la payload des métadonnées. La structure réelle des objets de métadonnées d’utilisateur JSON est similaire à ce qui suit :
{
updated: 1334243471,
encrypted: ["encryptedProp"],
data: {
zip: ["12345", "34567"],
maxrating: {
"MPAA": "PG-13",
"VCHIP": "TV-Y",
"URL": "http://exam.pl/e/manage/ratings"
},
householdid: "3456",
uid: "BgSdasfsdk23/dsaf3+saASesadgfsShggssd=",
channelID: ["channel-1", "channel-2"]
}
Par exemple :
// 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);
}
Déclenché par : getMetadata()
Haut de la page
selectedProvider(result)
Description : implémentez ce rappel pour recevoir le MVPD actuellement sélectionné et le résultat de l’authentification de l’utilisateur actuel encapsulé dans le paramètre result
. Le paramètre result
est un objet avec les propriétés suivantes :
- MVPD MVPD actuellement sélectionné ou valeur nulle si aucun MVPD n’a été sélectionné.
- AE_State résultat de l’authentification pour l’utilisateur actuel : « Nouvel utilisateur », « Utilisateur non authentifié » ou « Utilisateur authentifié »