Manuale Apple SSO (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk
L’SDK iOS/tvOS di Adobe Pass Authentication AccessEnabler supporta l’SSO (Partner Single Sign-On) per gli utenti finali delle applicazioni client in esecuzione su iOS, iPadOS o tvOS.
Questo documento funge da estensione della documentazione esistente di AccessEnabler iOS/tvOS SDK, disponibile qui.
Manuale apple-sso-cookbook-iostvos-sdk-cookbook
Per beneficiare dell’esperienza utente SSO di Apple, l’applicazione deve integrare l’SDK iOS/tvOS di AccessEnabler e seguire la sequenza di passaggi descritta di seguito.
Prerequisiti apple-sso-cookbook-iostvos-sdk-prerequisites
Autorizzazione apple-sso-cookbook-iostvos-sdk-permission
Settings -> TV Provider
su iOS e 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 apple-sso-cookbook-iostvos-sdk-callbacks
- presentTVProviderDialog - Callback attivato quando verrà aperto il selettore MVPD di Apple.
- dismissTVProviderDialog - Callback attivato quando il selettore MVPD di Apple verrà chiuso.
Segnalazione errori apple-sso-cookbook-iostvos-sdk-error-reporting
- 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 normale o il selettore MVPD di Apple.
- VSA403 - Autorizzazione del provider TV dell'utente negata per l'applicazione.
- VSA404 - L'autorizzazione del provider TV dell'utente non è determinata per l'applicazione.
- VSA503 - Richiesta metadati account sottoscrittore video non riuscita. Nel campo message è fornito più contesto.
- AAPL / APPL_ERROR - La richiesta dei metadati dell'account del sottoscrittore video non è riuscita. Nel campo details viene fornito più contesto.
Autenticazione apple-sso-cookbook-iostvos-sdk-authentication
-
L'applicazione dovrà inizializzare l'SDK di AccessEnabler iOS/tvOS.
-
L'applicazione deve impostare l'identificatore del richiedente corrente.
Importante: questo secondo passaggio potrebbe attivare un codice di errore avanzato specifico per il flusso di lavoro SSO di Apple, nel caso in cui uno dei seguenti sia true:
- VSA403 - Autorizzazione del provider TV dell'utente negata per l'applicazione.
- VSA404 - L'autorizzazione del provider TV dell'utente non è determinata per l'applicazione.
- APPL - Si è verificato un errore nella comunicazione tra l'SDK di AccessEnabler iOS/tvOS e il framework dell'account del sottoscrittore video.
Nel secondo passaggio si tenta di scambiare automaticamente il profilo SSO di Apple con un token di autenticazione di Adobe, nel caso in cui tutte le impostazioni precedenti siano false e tutte le impostazioni seguenti siano 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 del sottoscrittore di video.
Suggerimento pro: questo secondo passaggio non attiverà altri callback, oltre al callback setRequestorComplete, poiché l'autenticazione non è stata avviata in modo esplicito dall'applicazione.
-
L'applicazione dovrebbe controllare lo stato di autenticazione.
Importante: questo terzo passaggio potrebbe attivare un codice di errore avanzato specifico per il flusso di lavoro SSO di Apple, nel caso in cui uno dei seguenti sia true:
- *VSA403 - L'utente ha effettuato l'accesso al proprio account di provider TV in
il livello di sistema del dispositivo, ma l'autorizzazione del provider TV dell'utente è
negato per l’applicazione. - *VSA404 - L'utente ha effettuato l'accesso al proprio account di provider TV in
il livello di sistema del dispositivo, ma con l'autorizzazione del provider TV dell'utente
è indeterminato per l’applicazione. - *APPL_ERROR - L'utente ha effettuato l'accesso al proprio provider TV
a livello di sistema del dispositivo, ma la comunicazione tra
l’SDK di AccessEnabler iOS/tvOS e l’account del sottoscrittore di video
il framework ha rilevato un errore.
Importante: questo terzo passaggio attiverà il callback setAuthenticationStatus con status uguale a 0, nel caso in cui uno dei seguenti valori sia true:
- 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à il callback setAuthenticationStatus con status uguale a 1, nel caso in cui tutti i precedenti siano false.
- *VSA403 - L'utente ha effettuato l'accesso al proprio account di provider TV in
-
L'applicazione dovrebbe inizializzare l'autenticazione nel caso in cui il precedente controllo dello stato di autenticazione abbia attivato il callback setAuthenticationStatus con status uguale a 0.
Suggerimento pro: Implementare una delle seguenti API SDK AccessEnabler iOS/tvOS getAuthentication o getAuthentication:filter.
Importante: questo quarto passaggio potrebbe attivare un codice di errore avanzato specifico per il flusso di lavoro SSO di Apple, nel caso in cui uno dei seguenti sia true:
- VSA403 - Autorizzazione del provider TV dell'utente negata per l'applicazione.
- VSA404 - L'autorizzazione del 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 normale o il selettore MVPD di Apple.
Importante: questo quarto passaggio tornerebbe al normale flusso di autenticazione, attivando il callback displayProviderDialog e one dei codici di errore avanzati precedenti, nel caso in cui uno dei precedenti sia true.
Importante: questo quarto passaggio tornerebbe al normale flusso di autenticazione, attivando il callback navigateToUrl o navigateToUrl:useSVC e none dei codici di errore avanzati di cui sopra, nel caso in cui l'utente abbia selezionato un provider TV che non supporta l'SSO di Apple, ma è presente nel selettore MVPD di Apple.
Suggerimento pro: l'SDK di AccessEnabler iOS/tvOS chiama automaticamente l'API setSelectedProrovder, nel caso in cui l'utente abbia selezionato un provider TV che non supporta l'SSO di Apple, ma è presente nel selettore MVPD di Apple.
Importante: questo quarto passaggio tenterebbe di scambiare automaticamente il profilo SSO di Apple con un token di autenticazione Adobe, nel caso in cui tutti i precedenti siano false e tutti i seguenti siano true:
- 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 del sottoscrittore di video.
Suggerimento pro: questo quarto passaggio attiverà il callback setAuthenticationStatus, indipendentemente dal risultato status, poiché l'autenticazione è stata avviata in modo esplicito dall'applicazione.
Metadati apple-sso-cookbook-iostvos-sdk-metadata
L'applicazione dispone dell'opzione per determinare se l'autenticazione è avvenuta a seguito di un accesso tramite Partner SSO o meno, utilizzando l'API "tokenSource" metadati utente dell'SDK AccessEnabler iOS/tvOS.
...
accessEnabler.getMetadata([METADATA_OPCODE_KEY:Int(METADATA_USER_META), METADATA_USER_META_KEY: "tokenSource"])
...
Disconnetti apple-sso-cookbook-iostvos-sdk-logout
Il framework dell'account del sottoscrittore video 1} non fornisce un'API per disconnettere a livello di programmazione gli utenti che hanno effettuato l'accesso al proprio account del 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 da 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 deve avviare la disconnessione dall'SDK di AccessEnabler iOS/tvOS. Ciò non faciliterebbe la pulizia delle sessioni da parte di MVPD.
- L'applicazione dovrebbe indicare/richiedere all'utente di disconnettersi esplicitamente da
Settings -> Accounts -> TV Provider
su tvOS solo se il codice di stato VSA203 è attivato.
- L'applicazione deve avviare la disconnessione dall'SDK di AccessEnabler iOS/tvOS. Questo faciliterebbe la pulizia delle sessioni da parte di MVPD.
- L'applicazione dovrebbe indicare/richiedere all'utente di disconnettersi esplicitamente da
Settings -> TV Provider
su iOS/iPadOS solo se il codice di stato VSA203 è attivato.