Liste de contrôle V2 de l’API REST rest-api-v2-checklist
- Rubriques :
- Authentification
Ce document regroupe en un seul endroit les exigences obligatoires et les pratiques recommandées pour les programmeurs implémentant des applications clientes qui utilisent l’authentification Adobe Pass API REST V2.
Ce document doit être considéré comme faisant partie de vos critères d’acceptation lors de la mise en œuvre de l’API REST V2 et doit être utilisé comme une liste de contrôle pour vous assurer que toutes les étapes nécessaires ont été prises pour obtenir une intégration réussie.
Exigences obligatoires mandatory-requirements
1. Phase d’enregistrement mandatory-requirements-registration-phase
Ne demandez pas de nouveau jeton pour chaque appel API REST v2. Actualisez les jetons d’accès uniquement lorsqu’ils expirent.
2. Phase de configuration mandatory-requirements-configuration-phase
Récupérez la réponse de configuration uniquement lorsque vous devez inviter l’utilisateur à sélectionner son MVPD (fournisseur de télévision) avant la phase d’authentification.
Il n’est pas nécessaire de récupérer la réponse de configuration lorsque :
- L’utilisateur est déjà authentifié.
- L’utilisateur se voit proposer un accès temporaire.
- L’authentification de l’utilisateur a expiré, mais celui-ci peut être invité à confirmer qu’il est toujours abonné au MVPD sélectionné précédemment.
Stockez la sélection du fournisseur de télévision payante (MVPD) de l’utilisateur dans un espace de stockage persistant afin de l’utiliser lors de toutes les phases suivantes :
- Dans le magasin de réponse de configuration, l’utilisateur a sélectionné MVPD « id ».
- Dans le magasin de réponse de configuration, l’utilisateur a sélectionné MVPD « displayName ».
- Dans le magasin de réponse de configuration, l’utilisateur a sélectionné MVPD « logoUrl ».
3. Phase d’authentification mandatory-requirements-authentication-phase
Démarrez le mécanisme d’interrogation dans les conditions suivantes :
Authentification effectuée dans l’application principale (écran)
- L’application principale (de diffusion en continu) doit commencer à interroger l’utilisateur ou l’utilisatrice lorsqu’il ou elle atteint la page de destination finale, une fois que le composant de navigateur charge l’URL spécifiée pour le paramètre « redirectUrl » dans la requête de point d’entrée Sessions.
Authentification effectuée dans une application secondaire (écran)
- L’application principale (de diffusion en continu) doit commencer à interroger l’utilisateur dès qu’il lance le processus d’authentification, juste après avoir reçu la réponse du point d’entrée Sessions et affiché le code d’authentification à l’utilisateur.
Arrêtez le mécanisme d’interrogation sous les conditions suivantes :
Authentification réussie
- Les informations de profil de l’utilisateur ont été récupérées avec succès, confirmant leur statut d’authentification. L’interrogation n’est donc plus nécessaire.
Session d’authentification et expiration du code
- La session d’authentification et le code expirent, l’utilisateur ou l’utilisatrice doit redémarrer le processus d’authentification et l’interrogation à l’aide du code d’authentification précédent doit être arrêtée immédiatement.
Nouveau code d’authentification généré
- Si l’utilisateur demande un nouveau code d’authentification, la session existante est invalidée et l’interrogation avec le code d’authentification précédent doit être arrêtée immédiatement.
Configurez la fréquence du mécanisme d’interrogation dans les conditions suivantes :
Authentification effectuée dans l’application principale (écran)
- L’application principale (de diffusion en continu) doit effectuer une interrogation toutes les 3 à 5 secondes ou plus.
Authentification effectuée dans une application secondaire (écran)
- L’application principale (de diffusion en continu) doit effectuer une interrogation toutes les 3 à 5 secondes.
Stockez des parties des informations de profil de l’utilisateur dans un stockage persistant afin d’améliorer les performances et de minimiser les appels API REST v2 inutiles.
La mise en cache doit se concentrer sur les champs de réponse des profils suivants :
mvpd
- L’application cliente peut l’utiliser pour suivre le fournisseur de télévision sélectionné par l’utilisateur et continuer à l’utiliser pendant les phases de préautorisation ou d’autorisation.
- Lorsque le profil utilisateur actuel expire, l’application cliente peut utiliser la sélection MVPD mémorisée et demander à l’utilisateur de confirmer.
attributs
- Utilisé pour personnaliser l’expérience utilisateur en fonction de différentes clés de métadonnées d’utilisateur (par exemple, zip, maxRating, etc.).
- Les métadonnées de l’utilisateur sont disponibles une fois le flux d’authentification terminé. Par conséquent, l’application cliente n’a pas besoin d’interroger un point d’entrée distinct pour récupérer les informations de métadonnées de l’utilisateur, car elles sont déjà incluses dans les informations de profil.
- Certains attributs de métadonnées peuvent être mis à jour pendant la phase d’autorisation, selon le MVPD (par exemple, la charte) et l’attribut de métadonnées spécifique (par exemple, householdID). Par conséquent, l’application cliente peut avoir besoin d’interroger à nouveau les API Profiles après autorisation pour récupérer les dernières métadonnées de l’utilisateur.
4. (Facultatif) Phase De Préautorisation mandatory-requirements-preauthorization-phase
Risques de contournement de nos systèmes de surveillance et d'alerte.
Seul un nombre limité de codes d’erreur améliorés justifie une nouvelle tentative, alors que la plupart nécessitent d’autres résolutions, comme spécifié dans le champ d’action.
Assurez-vous que tout mécanisme de reprise implémenté pour récupérer les décisions de préautorisation n’entraîne pas une boucle sans fin et limite les reprises à un nombre raisonnable (c’est-à-dire 2-3).
5. Phase d’autorisation mandatory-requirements-authorization-phase
Autorisez les flux à continuer sans interruption même si le jeton multimédia expire pendant la lecture et demandez une nouvelle décision d’autorisation contenant un jeton multimédia (frais) lorsque l’utilisateur effectue sa prochaine demande de lecture, que ce soit pour la même ressource ou pour une autre ressource.
Les diffusions en direct s’exécutant pendant des périodes prolongées peuvent choisir de demander une nouvelle décision d’autorisation à la suite d’opérations vidéo, telles que la suspension du contenu, le lancement d’interruptions commerciales ou la modification des configurations au niveau des ressources lorsque le MRSS est soumis à des modifications.
Risques de contournement de nos systèmes de surveillance et d'alerte.
Seul un nombre limité de codes d’erreur améliorés justifie une nouvelle tentative, alors que la plupart nécessitent d’autres résolutions, comme spécifié dans le champ d’action.
Assurez-vous que tout mécanisme de reprise implémenté pour récupérer les décisions d’autorisation n’entraîne pas une boucle sans fin et limite les reprises à un nombre raisonnable (c’est-à-dire 2-3).
6. Phase de déconnexion mandatory-requirements-logout-phase
Implémentez l’API logout pour permettre aux utilisateurs de se déconnecter manuellement, d’arrêter leur profil authentifié et de suivre le nom d’action v2 de l’API REST spécifié pour chaque profil supprimé :
- Pour les fichiers MVPD prenant en charge un point d’entrée de déconnexion, l’application cliente doit accéder à l’« URL » fournie dans un user-agent.
- Pour les profils de type « appleSSO », l’application cliente nécessite de guider l’utilisateur pour également se déconnecter au niveau du partenaire (paramètres système d’Apple).
7. Paramètres et en-têtes mandatory-requirements-parameters-headers
Même lorsque la requête provient d’un serveur pour le compte d’un appareil, la valeur de l’en-tête AP-Device-Identifier doit refléter l’identifiant réel de l’appareil de diffusion en continu.
Même lorsque la requête provient d’un serveur pour le compte d’un appareil, la valeur de l’en-tête X-Device-Info doit refléter les informations réelles de l’appareil de diffusion en continu.
De plus, certains champs, comme connectionIp et connectionPort, sont obligatoires pour des fonctions comme l’authentification de base à domicile de Spectrum.
Pour les plateformes sans identifiant matériel, générez un identifiant unique à partir des attributs de l’application et conservez-le.
8. Gestion des erreurs mandatory-requirements-error-handling
Seul un nombre limité de codes d’erreur améliorés justifie une nouvelle tentative, alors que la plupart nécessitent d’autres résolutions, comme spécifié dans le champ d’action.
La plupart des codes d’erreur améliorés répertoriés dans la documentation Codes d’erreur améliorés - API REST V2 peuvent être entièrement évités s’ils sont correctement gérés pendant la phase de développement avant le lancement de l’application.
Risque de dysfonctionnement de l’application cliente en raison d’une gestion manquante des codes d’erreur améliorés, ce qui entraîne des messages d’erreur flous, des conseils d’utilisation incorrects ou un comportement de secours incorrect.
Seul un nombre limité de codes d’erreur HTTP justifie une nouvelle tentative, alors que la plupart nécessitent d’autres résolutions.
La plupart des réponses d’erreur HTTP peuvent être entièrement évitées si elles sont correctement gérées pendant la phase de développement avant le lancement de l’application.
Risque de dysfonctionnement de l’application cliente en raison d’une gestion manquante des codes d’erreur améliorés, ce qui entraîne des messages d’erreur flous, des conseils d’utilisation incorrects ou un comportement de secours incorrect.
9. Tests mandatory-requirements-testing
Développez et testez l’application à l’aide des environnements hors production Adobe Pass Authentication officiels :
- Préproduction
- Release-Staging
Effectuez une assurance qualité (QA) approfondie dans ces environnements avant de passer en version de production.
Les applications clientes ne doivent pas passer en version de production sans avoir d’abord effectué la validation de bout en bout dans les environnements hors production.
L’absence d’un chemin de débogage court et efficace peut empêcher l’assistance et l’ingénierie Adobe d’intervenir rapidement.
Pratiques recommandées recommended-practices
1. Phase d’enregistrement recommended-practices-registration-phase
Assurez-vous que tout mécanisme de reprise permettant de gérer les erreurs HTTP 401 « Non autorisé » actualise d’abord le jeton d’accès avant de retenter la requête d’origine.
2. Phase de configuration recommended-practices-configuration-phase
3. Phase d’authentification recommended-practices-authentication-phase
Validez le code d’authentification envoyé par le biais de l’entrée utilisateur sur la deuxième application secondaire (écran) avant d’appeler l’API /api/v2/authenticate dans les conditions suivantes :
Authentification effectuée dans l’application secondaire (écran) avec mvpd présélectionné
- Utilisez la Reprendre la session d’authentification - POST /api/v2/{serviceProvider}/sessions/{code}
Authentification effectuée dans l’application secondaire (écran) sans mvpd présélectionné
- Utilisez l’option Récupérer la session d’authentification - GET /api/v2/{serviceProvider}/sessions/{code}
L’application cliente recevait une erreur si le code d’authentification fourni était mal saisi ou si la session d’authentification arrivait à expiration.
Prendre en charge les flux non basiques si l’activité de l’application cliente l’exige :
- Flux d’accès dégradés (fonctionnalité Premium)
- Flux d’accès temporaires (fonctionnalité Premium)
- Flux d’accès à authentification unique (fonctionnalité standard)
4. (Facultatif) Phase De Préautorisation recommended-practices-preauthorization-phase
5. Phase d’autorisation recommended-practices-authorization-phase
6. Phase de déconnexion recommended-practices-logout-phase
7. Paramètres et en-têtes recommended-practices-parameters-headers
Réutilisez le code de l’API REST v1 pour appeler l’API DCR afin de récupérer un jeton d’accès.
8. Tests recommended-practices-testing
Vérifiez que les flux de base suivants sont testés sur les appareils et plateformes :
Flux d’authentification
- Scénario d’authentification de l’application de Principal (écran)
- Scénario d’authentification de l’application Secondaire (écran)
(Facultatif) Flux de préautorisation
- Scénario de décisions d’autorisation de test
- Test du scénario de refus de décisions
Flux d’autorisation
- Scénario de décisions d’autorisation de test
- Test du scénario de refus de décisions
Flux de déconnexion
Testez également d’autres flux d’accès, le cas échéant :
- Flux d’accès dégradés (fonctionnalité Premium)
- Flux d’accès temporaires (fonctionnalité Premium)
- Flux d’accès à authentification unique (fonctionnalité standard)
Couverture des principales intégrations MVPD (couvrant les fournisseurs les plus utilisés).
Résumé summary
Mettre en cache les jetons d’accès
parties du cache des profils
Prise en charge de la fonctionnalité de dégradation (si les besoins de l’entreprise)
Prise en charge de la fonctionnalité TempPass (si les besoins de l’entreprise)
Prise en charge de la fonctionnalité d’authentification unique (si les besoins de l’entreprise)
réglage fin du mécanisme de reprise
reprise
Jeton multimédia
Implémenter la gestion des erreurs HTTP