Manuale Apple SSO (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk
Introduzione Introduction
L’SDK iOS/tvOS di Adobe Primetime Authentication AccessEnabler può supportare l’autenticazione Single Sign-On (SSO) della piattaforma per gli utenti finali delle applicazioni client in esecuzione su iOS, iPadOS o tvOS tramite quello che chiamiamo flusso di lavoro SSO di Apple.
Questo documento funge da estensione della documentazione esistente AccessEnabler iOS/tvOS SDK, reperibile qui.
Manuale Cookbook
Per beneficiare dell’esperienza utente SSO di Apple, un’applicazione deve integrare l’SDK iOS/tvOS di AccessEnabler e seguire la sequenza di suggerimenti presentata di seguito.
Prerequisiti Prerequisites
Autorizzazione
Settings -> TV Provider
su iOS/iPadOS o Settings -> Accounts -> TV Provider
su tvOS.Settings -> TV Provider
su iOS/iPadOS o Settings -> Accounts -> TV Provider
su 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.
...
}
}
...
Callback
- presentTVProviderDialog - Callback attivato quando il selettore MVPD di Apple sta per aprirsi.
- dismissTVProviderDialog - Callback attivato quando il selettore MVPD di Apple sta per chiudersi.
Segnalazione errori
- N003 - L'utente ha selezionato l'opzione "Altro provider TV" dal selettore MVPD di Apple.
- N004 - L'utente ha selezionato un provider TV dal selettore MVPD di Apple, che non è supportato (integrazione o Single Sign-On disabilitato) dal richiedente corrente.
- N005 : l’utente ha deciso di annullare il selettore MVPD regolare o il selettore MVPD di Apple.
- VSA403 - Autorizzazione del provider TV dell'utente negata per l'applicazione.
- VSA404 - L'autorizzazione per il provider TV dell'utente non è determinata per l'applicazione.
- VSA503 - Richiesta non riuscita dei metadati dell’account del sottoscrittore video. Il contesto fornito è più ampio messaggio campo.
- AAPL / APPL_ERROR - Richiesta non riuscita dei metadati dell’account del sottoscrittore video. Il contesto fornito è più ampio dettagli campo.
Autenticazione Authentication
-
L'applicazione dovrebbe inizializzare l’SDK AccessEnabler iOS/tvOS.
-
L'applicazione dovrebbe imposta l'identificatore del richiedente corrente.
Importante: Questo secondo passaggio potrebbe attivare un codice di errore avanzato specifico del flusso di lavoro SSO di Apple, nel caso in cui una delle seguenti affermazioni è vera:
- VSA403 - Autorizzazione del provider TV dell'utente negata per l'applicazione.
- VSA404 - L'autorizzazione per il provider TV dell'utente non è determinata per l'applicazione.
- APPL - Errore durante la comunicazione tra l’SDK di AccessEnabler iOS/tvOS e il framework dell’account del sottoscrittore video.
Questo secondo passaggio tenterebbe di scambiare in silenzio il profilo Apple SSO con un token di autenticazione di Adobe, nel caso in cui tutte le informazioni precedenti sono false e tutte le seguenti condizioni sono vere:
- L'autorizzazione del provider TV dell'utente è concessa per l'applicazione.
- L'utente ha effettuato l'accesso al proprio account di provider TV a livello di sistema del dispositivo.
- L’SDK iOS/tvOS di AccessEnabler ha ricevuto l’identificatore del provider TV dell’utente dal framework dell’account dell’abbonato video.
- L’integrazione del fornitore TV dell’utente con l’applicazione è abilitata tramite Adobe Primetime TVE Dashboard.
- Il Single Sign-On del provider TV dell’utente con l’applicazione è abilitato tramite Adobe Primetime TVE Dashboard.
- Il provider TV dell'utente non è danneggiato tramite Adobe Primetime TVE Dashboard.
- L’SDK iOS/tvOS di AccessEnabler ha ricevuto la risposta SAML del provider TV dell’utente dal framework dell’account dell’abbonato video.
Suggerimento pro: Questo secondo passaggio non attiverà altri callback, oltre al setRequestorComplete callback, poiché l'autenticazione non è stata avviata esplicitamente dall'applicazione.
-
L'applicazione dovrebbe controllare lo stato di autenticazione.
Importante: Questo terzo passaggio potrebbe attivare un codice di errore avanzato specifico del flusso di lavoro SSO di Apple, nel caso in cui una delle seguenti affermazioni è vera:
- *VSA403 - L'utente ha effettuato l'accesso al proprio account di provider TV a livello di sistema del dispositivo, ma l'autorizzazione di provider TV dell'utente è stata negata per l'applicazione.
- *VSA404 - L'utente ha effettuato l'accesso al proprio account di provider TV a livello di sistema del dispositivo, ma l'autorizzazione di provider TV dell'utente non è determinata per l'applicazione.
- *APPL_ERROR : l’utente ha effettuato l’accesso al proprio account di provider TV a livello di sistema del dispositivo, ma la comunicazione tra l’SDK di AccessEnabler iOS/tvOS e il framework dell’account dell’abbonato video ha rilevato un errore.
Importante: Questo terzo passaggio attiverà setAuthenticationStatus callback con stato uguale a 0, nel caso una delle seguenti affermazioni è vera:
- L'utente non ha eseguito l'accesso al proprio account di provider TV a livello di sistema del dispositivo o tramite un flusso di autenticazione regolare.
- L'utente ha eseguito l'accesso al proprio account di provider TV a livello di sistema del dispositivo o tramite un flusso di autenticazione regolare, ma il token di autenticazione di provider TV dell'utente è stato passato.
- L’utente ha effettuato l’accesso al proprio account di provider TV a livello di sistema del dispositivo o tramite un flusso di autenticazione regolare, ma l’integrazione del provider TV dell’utente con l’applicazione è disabilitata tramite Adobe Primetime TVE Dashboard.
- L'utente ha eseguito l'accesso al proprio account di provider TV a livello di sistema del dispositivo, ma il Single Sign-On del provider TV dell'utente con l'applicazione è disabilitato tramite Adobe Primetime TVE Dashboard.
- L'utente ha eseguito l'accesso al proprio account di provider TV a livello di sistema del dispositivo, ma l'autorizzazione del provider TV dell'utente è stata negata per l'applicazione.
- L'utente ha eseguito l'accesso al proprio account di provider TV a livello di sistema del dispositivo, ma l'autorizzazione del provider TV dell'utente non è determinata per l'applicazione.
- L’utente ha effettuato l’accesso al proprio account di provider TV a livello di sistema del dispositivo, ma la comunicazione tra l’SDK di AccessEnabler iOS/tvOS e il framework dell’account del sottoscrittore di video ha rilevato un errore.
Importante: Questo terzo passaggio attiverà setAuthenticationStatus callback con stato uguale a 1, nel caso tutti i precedenti sono falsi.
-
L'applicazione dovrebbe inizializzare l’autenticazione nel caso in cui il precedente controllo dello stato di autenticazione abbia attivato setAuthenticationStatus callback con stato uguale a 0.
Suggerimento pro: Implementa una delle seguenti API SDK di AccessEnabler iOS/tvOS getAuthentication o getAuthentication:filtro.
Importante: Questo quarto passaggio potrebbe attivare un codice di errore avanzato specifico del flusso di lavoro SSO di Apple, nel caso in cui una delle seguenti affermazioni è vera:
- VSA403 - Autorizzazione del provider TV dell'utente negata per l'applicazione.
- VSA404 - L'autorizzazione per il provider TV dell'utente non è determinata per l'applicazione.
- VSA503 - Errore durante la comunicazione tra l’SDK di AccessEnabler iOS/tvOS e il framework dell’account del sottoscrittore video.
- N003 - L'utente ha selezionato l'opzione "Altro provider TV" dal selettore MVPD di Apple.
- N004 - L'utente ha selezionato un provider TV dal selettore MVPD di Apple, che non è supportato (integrazione o Single Sign-On disabilitato) dal richiedente corrente.
- N005 : l’utente ha deciso di annullare il selettore MVPD regolare o il selettore MVPD di Apple.
Importante: Questo quarto passaggio tornerebbe al flusso di autenticazione regolare, attivando displayProviderDialog callback e uno di quanto sopra codici di errore avanzati, nel caso uno dei precedenti è vero.
Importante: Questo quarto passaggio tornerebbe al flusso di autenticazione regolare, attivando navigateToUrl o navigateToUrl:useSVC callback e nessuno di quanto sopra codici di errore avanzati, se l’utente ha selezionato un provider TV che non supporta Apple SSO, ma è presente nel selettore MVPD di Apple.
Suggerimento pro: L’SDK iOS/tvOS di AccessEnabler chiama automaticamente il setSelectedProvider API, nel caso in cui l’utente abbia selezionato un provider TV che non supporta Apple SSO, ma è presente nel selettore MVPD di Apple.
Importante: Questo quarto passaggio tenterebbe di scambiare silenziosamente il profilo SSO di Apple con un token di autenticazione di Adobe, nel caso in cui tutte le informazioni precedenti sono false e tutte le seguenti condizioni sono vere:
- L'autorizzazione del provider TV dell'utente è concessa per l'applicazione.
- L'utente è connesso/attualmente accede al proprio account di provider TV a livello di sistema del dispositivo.
- L’SDK iOS/tvOS di AccessEnabler ha ricevuto l’identificatore del provider TV dell’utente dal framework dell’account dell’abbonato video.
- L’integrazione del fornitore TV dell’utente con l’applicazione è abilitata tramite Adobe Primetime TVE Dashboard.
- Il Single Sign-On del provider TV dell’utente con l’applicazione è abilitato tramite Adobe Primetime TVE Dashboard.
- Il provider TV dell'utente non è danneggiato tramite Adobe Primetime TVE Dashboard.
- L’SDK iOS/tvOS di AccessEnabler ha ricevuto la risposta SAML del provider TV dell’utente dal framework dell’account dell’abbonato video.
Suggerimento pro: Questo quarto passaggio attiverà setAuthenticationStatus callback, indipendentemente da stato poiché l'autenticazione è stata avviata esplicitamente dall'applicazione.
Metadati Metadata
L’applicazione ha la possibilità di determinare se l’autenticazione è avvenuta a seguito di un accesso tramite l’SSO della piattaforma o meno, utilizzando "tokenSource" metadati utente API dall’SDK di AccessEnabler iOS/tvOS.
...
accessEnabler.getMetadata([METADATA_OPCODE_KEY:Int(METADATA_USER_META), METADATA_USER_META_KEY: "tokenSource"])
...
Disconnetti Logout
Il Account abbonato video Il framework non fornisce un'API per disconnettere programmaticamente gli utenti che hanno effettuato l'accesso al proprio account di provider TV a livello di sistema del dispositivo. Pertanto, affinché la disconnessione diventi effettiva, l'utente finale dovrà disconnettersi esplicitamente da Settings -> TV Provider
su iOS/iPadOS o Settings -> Accounts -> TV Provider
su tvOS. L'altra opzione che l'utente avrebbe è quella di revocare l'autorizzazione per accedere alle informazioni sull'abbonamento dell'utente dalla sezione delle impostazioni specifiche dell'applicazione (autorizzazione di accesso del provider TV).
- L'applicazione dovrebbe avvia la disconnessione dall’SDK di AccessEnabler iOS/tvOS. Ciò non faciliterebbe la pulizia delle sessioni da parte di MVPD.
- L’applicazione deve indicare/richiedere all’utente di disconnettersi esplicitamente da
Settings -> Accounts -> TV Provider
su tvOS solo nel caso VSA203 il codice di stato viene attivato.
- L'applicazione dovrebbe avvia la disconnessione dall’SDK di AccessEnabler iOS/tvOS. Questo faciliterebbe la pulizia delle sessioni da parte di MVPD.
- L’applicazione deve indicare/richiedere all’utente di disconnettersi esplicitamente da
Settings -> TV Provider
su iOS/iPadOS solo nel caso VSA203 il codice di stato viene attivato.