Guide pas à pas Apple SSO (SDK iOS/tvOS) apple-sso-cookbook-iostvos-sdk
Introduction Introduction
Le SDK Adobe Primetime Authentication AccessEnabler iOS/tvOS peut prendre en charge l’authentification SSO (Single Sign-On) par plateforme pour les utilisateurs finaux des applications clientes s’exécutant sur iOS, iPadOS ou tvOS via ce que nous appelons le processus SSO Apple.
Notez que ce document agit comme une extension de la documentation existante du SDK AccessEnabler iOS/tvOS, qui se trouve here.
Guide pas à pas Cookbook
Afin de bénéficier de l’expérience utilisateur SSO d’Apple, une application doit intégrer le SDK AccessEnabler iOS/tvOS et suivre la séquence de conseils présentée ci-dessous.
Conditions préalables Prerequisites
Autorisation
Settings -> TV Provider
sur iOS/iPadOS ou Settings -> Accounts -> TV Provider
sur tvOS.Settings -> TV Provider
sur iOS/iPadOS ou Settings -> Accounts -> TV Provider
sur tvOS. ...
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
- presentTVProviderDialog - Rappel déclenché lorsque le sélecteur MVPD Apple s’ouvre.
- dismissTVProviderDialog - Rappel déclenché lorsque le sélecteur MVPD Apple se ferme.
Rapport d’erreurs
- N003 - L’utilisateur a sélectionné l’option "Autre fournisseur de télévision" dans le sélecteur MVPD Apple.
- N004 - L’utilisateur a sélectionné un fournisseur de télévision dans le sélecteur MVPD Apple, qui n’est pas pris en charge (intégration ou connexion 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 MVPD Apple.
- VSA403 - La permission du fournisseur de télévision de l'utilisateur est refusée pour la demande.
- VSA404 - L’autorisation du fournisseur de télévision de l’utilisateur est indéterminée pour la demande.
- VSA503 - Échec de la demande de métadonnées de compte d’abonné vidéo, plus de contexte est fourni dans la section message champ .
- AAPL / APPL_ERROR - Échec de la demande de métadonnées de compte d’abonné vidéo, plus de contexte est fourni dans la section détails champ .
Authentification Authentication
-
La demande doit initialize le SDK AccessEnabler iOS/tvOS.
-
La demande doit définir l’identifiant du demandeur actuel ;.
Important : Cette deuxième étape peut déclencher une code d’erreur avancé qui est spécifique au workflow SSO d’Apple, le cas échéant l’une des conditions suivantes est vraie.:
- VSA403 - La permission du fournisseur de télévision de l'utilisateur est refusée pour la demande.
- VSA404 - L’autorisation du fournisseur de télévision de l’utilisateur est indéterminée pour la demande.
- APPL - La communication entre le SDK AccessEnabler iOS/tvOS et la structure du compte d’abonné vidéo a rencontré une erreur.
Cette deuxième étape consiste à échanger en silence le profil SSO Apple contre un jeton d’authentification d’Adobe, au cas où tous les éléments ci-dessus sont faux. et tous les éléments suivants sont vrais:
- La permission du fournisseur de télévision de l’utilisateur est accordée pour la demande.
- 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 du fournisseur de télévision de l’utilisateur à partir 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 par le biais du 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 de télévision de l’utilisateur n’est pas dégradé par le biais du 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éclenche aucun autre rappel, hormis le setRequestorComplete rappel, car l’authentification n’a pas été explicitement lancée par l’application.
-
La demande doit vérifier l’état d’authentification.
Important : Cette troisième étape peut déclencher une code d’erreur avancé qui est spécifique au workflow SSO d’Apple, le cas échéant l’une des conditions suivantes est vraie.:
- *VSA403 - L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil, mais son autorisation de fournisseur de télévision est refusée pour l’application.
- *VSA404 - L’utilisateur est connecté à son compte de fournisseur de télévision au niveau du système de l’appareil, mais son autorisation de fournisseur de télévision n’est pas déterminée pour l’application.
- *APPL_ERROR - 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 la setAuthenticationStatus rappel avec status égal à 0, en cas l’une des conditions suivantes est vraie.:
- 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 régulier, mais le jeton d’authentification du fournisseur de télévision de l’utilisateur est transmis.
- 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 standard, mais l’intégration du fournisseur de télévision de l’utilisateur à l’application est désactivée par le biais du 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 par le biais du 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 son autorisation de fournisseur de télévision 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 son autorisation de fournisseur de télévision n’est pas dé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 la setAuthenticationStatus rappel avec status égal à 1, au cas où tous les éléments ci-dessus sont faux.
-
La demande doit initialisation de l’authentification au cas où la vérification de l’état de l’authentification précédente déclencherait la variable setAuthenticationStatus rappel avec status égal à 0.
Conseil Pro : Mettez en oeuvre l’une des API SDK AccessEnabler iOS/tvOS suivantes getAuthentication ou getAuthentication:filter.
Important : Cette quatrième étape peut déclencher une code d’erreur avancé qui est spécifique au workflow SSO d’Apple, le cas échéant l’une des conditions suivantes est vraie.:
- VSA403 - La permission du fournisseur de télévision de l'utilisateur est refusée pour la demande.
- VSA404 - L’autorisation du fournisseur de télévision de l’utilisateur est indéterminée pour la demande.
- VSA503 - La communication entre le SDK AccessEnabler iOS/tvOS et la structure du 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 Apple.
- N004 - L’utilisateur a sélectionné un fournisseur de télévision dans le sélecteur MVPD Apple, qui n’est pas pris en charge (intégration ou connexion 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 MVPD Apple.
Important : Cette quatrième étape reviendrait au flux d’authentification standard, en déclenchant l’événement displayProviderDialog callback et one de ce qui précède codes d’erreur avancés, au cas où l’une des conditions ci-dessus est vraie..
Important : Cette quatrième étape reviendrait au flux d’authentification standard, en déclenchant l’événement navigateToUrl ou navigateToUrl:useSVC callback et none de ce qui précède codes d’erreur avancés, si l’utilisateur a sélectionné un fournisseur de télévision, qui ne prend pas en charge la fonction SSO d’Apple, mais qui est présent dans le sélecteur MVPD d’Apple.
Conseil Pro : Le SDK AccessEnabler iOS/tvOS appelle silencieusement le setSelectedProvider API, au cas où l’utilisateur sélectionnerait 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 MVPD Apple.
Important : Cette quatrième étape consiste à échanger silencieusement le profil SSO Apple contre un jeton d’authentification d’Adobe, au cas où tous les éléments ci-dessus sont faux. et tous les éléments suivants sont vrais:
- La permission du fournisseur de télévision de l’utilisateur est accordée pour la demande.
- 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 du fournisseur de télévision de l’utilisateur à partir 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 par le biais du 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 de télévision de l’utilisateur n’est pas dégradé par le biais du 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 la setAuthenticationStatus callback, indépendamment de status , car l’authentification a été explicitement lancée par l’application.
Métadonnées Metadata
L’application a la possibilité de déterminer si l’authentification s’est produite suite à une connexion via l’authentification unique (SSO) de la plateforme, ou non, en utilisant le tokenSource" métadonnées utilisateur API du SDK AccessEnabler iOS/tvOS.
...
accessEnabler.getMetadata([METADATA_OPCODE_KEY:Int(METADATA_USER_META), METADATA_USER_META_KEY: "tokenSource"])
...
Déconnexion Logout
La variable Compte d’abonné vidéo La structure ne fournit pas d’API pour déconnecter par programmation les personnes qui se sont connectées à leur compte de fournisseur de télévision au niveau du système de l’appareil. Par conséquent, pour que la déconnexion soit effective, l’utilisateur final doit se déconnecter explicitement de Settings -> TV Provider
sur iOS/iPadOS ou Settings -> Accounts -> TV Provider
sur tvOS. L’autre option dont dispose l’utilisateur consiste à retirer l’autorisation d’accéder aux informations d’abonnement de l’utilisateur dans la section des paramètres de l’application spécifique (accès aux autorisations du fournisseur de télévision).
- La demande doit lancer la déconnexion à partir du SDK AccessEnabler iOS/tvOS. Cela ne faciliterait pas le nettoyage de session du côté MVPD.
- L’application doit demander à l’utilisateur de se déconnecter explicitement de .
Settings -> Accounts -> TV Provider
sur tvOS uniquement au cas où VSA203 code d’état déclenché.
- La demande doit lancer la déconnexion à partir du SDK AccessEnabler iOS/tvOS. Cela faciliterait le nettoyage de session du côté MVPD.
- L’application doit demander à l’utilisateur de se déconnecter explicitement de .
Settings -> TV Provider
sur iOS/iPadOS uniquement au cas où VSA203 code d’état déclenché.