Manuel de l’authentification unique Apple (hérité) (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk

IMPORTANT
Le contenu de cette page est fourni à titre d’information uniquement. L’utilisation de cette API nécessite une licence Adobe. Aucune utilisation non autorisée n’est autorisée.
IMPORTANT
Veillez à rester informé des dernières annonces de produits Authentification Adobe Pass et des délais de désactivation agrégés dans la page Annonces de produits.

Le SDK Adobe Pass Authentication AccessEnabler iOS/tvOS prend en charge l’authentification unique (SSO) des partenaires pour les utilisateurs finaux des applications clientes s’exécutant sur iOS, iPadOS ou tvOS.

Ce document agit comme une extension de la documentation SDK AccessEnabler iOS/tvOS, disponible ici.

Livre de cuisine apple-sso-cookbook-iostvos-sdk-cookbook

Pour bénéficier de l’expérience utilisateur de l’authentification unique d’Apple, l’application doit intégrer le SDK iOS/tvOS d’AccessEnabler et suivre la séquence d’étapes présentée ci-dessous.

Conditions préalables apple-sso-cookbook-iostvos-sdk-prerequisites

Autorisation apple-sso-cookbook-iostvos-sdk-permission

TIP
Conseil pro : l'application de streaming doit demander l'accès aux informations d'abonnement de l'utilisateur enregistrées au niveau de l'appareil, pour lesquelles l'utilisateur doit donner à l'application l'autorisation de continuer, comme pour fournir l'accès à la caméra ou au microphone de l'appareil. Cette autorisation doit être demandée par application à l’aide d’Apple Video Subscriber Account Framework et l’appareil enregistre la sélection de l’utilisateur.
TIP
Conseil pro : nous recommandons d’inciter les utilisateurs qui refusent de donner l’autorisation d’accéder aux informations d’abonnement en expliquant les avantages de l’expérience utilisateur d’authentification unique d’Apple, mais sachez que l’utilisateur peut modifier sa décision en accédant aux paramètres de l’application (accès d’autorisation du fournisseur de télévision) ou en Settings -> TV Provider sur iOS et iPadOS ou Settings -> Accounts -> TV Provider sur tvOS.
TIP
Conseil sur la pro : l’application de diffusion en continu peut demander l’autorisation de l’utilisateur lorsqu’elle passe en état de premier plan, car l’application peut vérifier l’autorisation d’accès les informations d’abonnement de l’utilisateur à tout moment avant d’exiger l’authentification de l’utilisateur.
TIP
Conseil Pro : si l'utilisateur n'accorde pas l'accès à ses informations d'abonnement ou si la communication avec le framework de compte d'abonné vidéo échoue, le SDK AccessEnabler iOS/tvOS retourne au flux d'authentification standard.
    ...
    let videoSubscriberAccountManager: VSAccountManager = VSAccountManager();

    videoSubscriberAccountManager.checkAccessStatus(options: [VSCheckAccessOption.prompt: true]) { (accessStatus, error) -> Void in
                switch (accessStatus) {
                // The user allows the application to access subscription information.
                case VSAccountAccessStatus.granted:
                   // Do nothing.

                // The user has not yet made a choice or does not allow the application to access subscription information.
                default:
                   // Incentivize users who refuse to give permission to access subscription information by explaining the benefits of the Single Sign-On (SSO) user experience. Please bear in mind that the user can change its decision by going to the application settings (TV Provider permission access) or to the section from Settings -> TV Provider on iOS/iPadOS or Settings -> Accounts -> TV Provider on tvOS.
                   ...
                }
    }
    ...

Rappels apple-sso-cookbook-iostvos-sdk-callbacks

TIP
Conseil pro : implémentez la liste suivante de rappels spécifiques au workflow SSO d’Apple.

Rapport d’erreurs apple-sso-cookbook-iostvos-sdk-error-reporting

TIP
Conseil pro : implémentez la liste suivante de codes d’erreur avancés spécifiques au workflow SSO d’Apple.
  • N003 - L’utilisateur a sélectionné l’option « Autre fournisseur de télévision » dans le sélecteur MVPD d’Apple.
  • N004 - L’utilisateur a sélectionné un fournisseur de télévision dans le sélecteur MVPD d’Apple, qui n’est pas pris en charge (intégration ou authentification unique désactivée) par le demandeur actuel.
  • N005 - L’utilisateur a décidé d’annuler le sélecteur MVPD standard ou le sélecteur Apple MVPD.
  • VSA403 - L'autorisation du fournisseur de télévision de l'utilisateur est refusée pour l'application.
  • VSA404 - L'autorisation du fournisseur de télévision de l'utilisateur est indéterminée pour l'application.
  • VSA503 - Échec de la demande de métadonnées du compte d'abonné vidéo. Le champ message fournit plus de contexte.
  • AAPL / APPL_ERROR - Échec de la demande de métadonnées du compte d’abonné à la vidéo. Le champ détails fournit plus de contexte.

Authentification apple-sso-cookbook-iostvos-sdk-authentication

TIP
Conseil : suivez les étapes ci-dessous pour la ou les implémentations iOS/iPadOS/tvOS.
  1. L’application doit initialiser le SDK AccessEnabler iOS/tvOS.

  2. L’application doit définir l’identifiant du demandeur actuel.

    Important : cette deuxième étape peut déclencher un code d’erreur avancé spécifique au workflow SSO d’Apple, dans le cas où l’un des scénarios suivants est vrai :

    • VSA403 - L'autorisation du fournisseur de télévision de l'utilisateur est refusée pour l'application.
    • VSA404 - L'autorisation du fournisseur de télévision de l'utilisateur est indéterminée pour l'application.
    • APPL - La communication entre le SDK AccessEnabler iOS/tvOS et le framework de compte d’abonné vidéo a rencontré une erreur.

    Cette deuxième étape tente d’effectuer un exchange silencieux du profil SSO Apple pour un jeton d’authentification Adobe, au cas où tous les éléments ci-dessus sont faux et tous les éléments suivants sont vrais :

    • L’autorisation Fournisseur TV de l’utilisateur est accordée pour l’application.
    • L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil.
    • Le SDK AccessEnabler iOS/tvOS a reçu l’identifiant de fournisseur de télévision de l’utilisateur de la structure du compte d’abonné vidéo.
    • L’intégration du fournisseur de télévision de l’utilisateur à l’application est activée via le tableau de bord Adobe Primetime TVE.
    • L’authentification unique du fournisseur de télévision de l’utilisateur avec l’application est activée via le tableau de bord Adobe Primetime TVE.
    • Le fournisseur TV de l’utilisateur n’est pas dégradé via le tableau de bord Adobe Primetime TVE.
    • Le SDK AccessEnabler iOS/tvOS a reçu la réponse SAML du fournisseur de télévision de l’utilisateur de la structure du compte d’abonné vidéo.

    Conseil pro : cette deuxième étape ne déclenchera aucun autre rappel, à part le rappel setRequestorComplete, car l'authentification n'a pas été explicitement initiée par l'application.

  3. L’application doit vérifier le statut de l’authentification.

    Important : cette troisième étape peut déclencher un code d’erreur avancé spécifique au workflow SSO d’Apple, dans le cas où l’un des scénarios suivants est vrai :

    • *VSA403 - L’utilisateur est connecté à son compte de fournisseur de télévision à l’adresse
      niveau du système de l’appareil, mais l’autorisation Fournisseur TV de l’utilisateur est
      refusé pour l’application.
    • *VSA404 - L’utilisateur est connecté à son compte de fournisseur de télévision à l’adresse
      niveau du système de l’appareil, mais autorisation du fournisseur de télévision de l’utilisateur
      est indéterminé pour l’application.
    • *APPL_ERROR - L’utilisateur est connecté à son fournisseur de télévision
      compte au niveau du système de l’appareil, mais la communication entre
      le SDK AccessEnabler iOS/tvOS et le compte d’abonné vidéo ;
      la structure a rencontré une erreur.

    Important : cette troisième étape déclenche le rappel setAuthenticationStatus avec status égal à 0, au cas où l'un des éléments suivants est vrai :

    • L’utilisateur n’est pas connecté à son compte de fournisseur de télévision au niveau du système de l’appareil ou par le biais d’un flux d’authentification régulier.
    • L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil ou par le biais d’un flux d’authentification normal, mais la TTL du jeton d’authentification du fournisseur de télévision de l’utilisateur est passée.
    • L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil ou par le biais d’un flux d’authentification régulier, mais l’intégration du fournisseur de télévision de l’utilisateur à l’application est désactivée via le tableau de bord Adobe Primetime TVE.
    • L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil, mais l’authentification unique du fournisseur de télévision de l’utilisateur avec l’application est désactivée via le tableau de bord Adobe Primetime TVE.
    • L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil, mais l’autorisation du fournisseur de télévision de l’utilisateur est refusée pour l’application.
    • L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil, mais l’autorisation du fournisseur de télévision de l’utilisateur est indéterminée pour l’application.
    • L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil, mais la communication entre le SDK AccessEnabler iOS/tvOS et la structure du compte d’abonné vidéo a rencontré une erreur.

    Important : cette troisième étape déclenche le rappel setAuthenticationStatus avec status égal à 1, au cas où tous les éléments ci-dessus sont faux.

  4. L’application doit initialiser l’authentification au cas où la vérification du statut d’authentification précédent déclenchait le rappel setAuthenticationStatus avec status égal à 0.

    Conseil pro : implémentez l'une des API SDK AccessEnabler iOS/tvOS suivantes getAuthentication ou getAuthentication:filter.

    Important : cette quatrième étape peut déclencher un code d’erreur avancé spécifique au workflow SSO d’Apple, dans le cas où l’un des scénarios suivants est vrai :

    • VSA403 - L'autorisation du fournisseur de télévision de l'utilisateur est refusée pour l'application.
    • VSA404 - L'autorisation du fournisseur de télévision de l'utilisateur est indéterminée pour l'application.
    • VSA503 - La communication entre le SDK AccessEnabler iOS/tvOS et le framework de compte d'abonné vidéo a rencontré une erreur.
    • N003 - L’utilisateur a sélectionné l’option « Autre fournisseur de télévision » dans le sélecteur MVPD d’Apple.
    • N004 - L’utilisateur a sélectionné un fournisseur de télévision dans le sélecteur MVPD d’Apple, qui n’est pas pris en charge (intégration ou authentification unique désactivée) par le demandeur actuel.
    • N005 - L’utilisateur a décidé d’annuler le sélecteur MVPD standard ou le sélecteur Apple MVPD.

    Important : cette quatrième étape revient au flux d’authentification normal, en déclenchant le rappel displayProviderDialog et l’un des codes d’erreur avancés ci-dessus, au cas où l’un des deux est vrai.

    Important : cette quatrième étape revient au flux d’authentification standard, en déclenchant le rappel navigateToUrl ou navigateToUrl:useSVC et none des codes d’erreur avancés ci-dessus, au cas où l’utilisateur ou l’utilisatrice sélectionne un fournisseur de télévision qui ne prend pas en charge la connexion unique Apple, mais qui est présent dans le sélecteur Apple MVPD.

    Conseil pro : le SDK AccessEnabler iOS/tvOS appelle silencieusement l’API setSelectedProvder, au cas où l’utilisateur ou l’utilisatrice sélectionnerait un fournisseur de télévision qui ne prend pas en charge l’authentification unique Apple, mais qui est présent dans le sélecteur Apple MVPD.

    Important : cette quatrième étape tente d’effectuer un exchange silencieux du profil SSO d’Apple pour un jeton d’authentification d’Adobe, au cas où tout ce qui précède est faux et tout ce qui suit est vrai :

    • L’autorisation Fournisseur TV de l’utilisateur est accordée pour l’application.
    • L’utilisateur est connecté/se connecte actuellement à son compte de fournisseur de télévision au niveau du système de l’appareil.
    • Le SDK AccessEnabler iOS/tvOS a reçu l’identifiant de fournisseur de télévision de l’utilisateur de la structure du compte d’abonné vidéo.
    • L’intégration du fournisseur de télévision de l’utilisateur à l’application est activée via le tableau de bord Adobe Primetime TVE.
    • L’authentification unique du fournisseur de télévision de l’utilisateur avec l’application est activée via le tableau de bord Adobe Primetime TVE.
    • Le fournisseur TV de l’utilisateur n’est pas dégradé via le tableau de bord Adobe Primetime TVE.
    • Le SDK AccessEnabler iOS/tvOS a reçu la réponse SAML du fournisseur de télévision de l’utilisateur de la structure du compte d’abonné vidéo.

    Conseil pro : cette quatrième étape déclenche le rappel setAuthenticationStatus, quel que soit le résultat status, car l'authentification a été explicitement initiée par l'application.

Métadonnées apple-sso-cookbook-iostvos-sdk-metadata

L’application a la possibilité de déterminer si l’authentification a eu lieu suite à une connexion via le SSO du partenaire ou non, à l’aide de l’API « tokenSource » métadonnées de l’utilisateur du SDK AccessEnabler iOS/tvOS.

    ...
    accessEnabler.getMetadata([METADATA_OPCODE_KEY:Int(METADATA_USER_META), METADATA_USER_META_KEY: "tokenSource"])
    ...

Déconnexion apple-sso-cookbook-iostvos-sdk-logout

Le framework de compte d’abonné vidéo ne fournit pas d’API pour déconnecter par programmation les personnes qui se sont connectées au compte de leur fournisseur de télévision au niveau du système de l’appareil. Par conséquent, pour que la déconnexion prenne pleinement effet, l’utilisateur final doit se déconnecter explicitement d’Settings -> TV Provider sur iOS/iPadOS ou Settings -> Accounts -> TV Provider sur tvOS. L'autre possibilité pour l'utilisateur est de retirer l'autorisation d'accéder aux informations d'abonnement de l'utilisateur à partir de la section des paramètres de l'application spécifique (accès aux autorisations du fournisseur de télévision).

TIP
Conseil : implémentez ceci par le biais de l’API AccessEnabler iOS/tvOS SDK logout.
TIP
Conseil Pro : Suivez les étapes ci-dessous pour la/les implémentation(s) tvOS.
  • L’application doit initier la déconnexion à partir du SDK AccessEnabler iOS/tvOS. Cela ne facilite pas le nettoyage de la session côté MVPD.
  • L’application doit demander à l’utilisateur de se déconnecter explicitement de Settings -> Accounts -> TV Provider sur tvOS uniquement dans le cas où le code d’état VSA203 est déclenché.
TIP
Conseil de Pro : suivez les étapes ci-dessous pour la/les implémentation(s) d’iOS/iPadOS.
  • L’application doit initier la déconnexion à partir du SDK AccessEnabler iOS/tvOS. Cela facilite le nettoyage de la session côté MVPD.
  • L’application doit demander à l’utilisateur de se déconnecter explicitement d’Settings -> TV Provider sur iOS/iPadOS uniquement dans le cas où le code d’état VSA203 est déclenché.
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b