(Legacy) Manuale Apple SSO (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk
Adobe Pass Authentication AccessEnabler iOS/tvOS SDK supporta il Single Sign-On (SSO) 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 AccessEnabler iOS/tvOS SDK 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 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 AccessEnabler iOS/tvOS SDK.
-
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 - Errore durante la comunicazione tra AccessEnabler iOS/tvOS SDK 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 tutti i precedenti siano false e tutti i seguenti siano true:
- 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.
- Il SDK AccessEnabler iOS/tvOS ha ricevuto l'identificatore del provider TV dell'utente dal framework dell'account del sottoscrittore 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 viene degradato tramite Adobe Primetime TVE Dashboard.
- Il SDK AccessEnabler iOS/tvOS 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 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
SDK di AccessEnabler iOS/tvOS e l’account del sottoscrittore 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 effettuato 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 eseguito l'accesso al proprio account di provider TV a livello di sistema del dispositivo, ma la comunicazione tra AccessEnabler iOS/tvOS SDK e il framework dell'account del sottoscrittore 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 di 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 - La comunicazione tra AccessEnabler iOS/tvOS SDK e il framework dell'account del sottoscrittore video ha rilevato un errore.
- 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 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 Apple SSO, ma è presente nel selettore MVPD di Apple.
Suggerimento pro: AccessEnabler iOS/tvOS SDK chiama automaticamente l'API setSelectedProrovder se l'utente ha selezionato un provider TV che non supporta l'SSO di Apple, ma è presente nel selettore di Apple MVPD.
Importante: questo quarto passaggio tenterebbe di scambiare automaticamente il profilo SSO di Apple con un token di autenticazione di 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.
- Il SDK AccessEnabler iOS/tvOS ha ricevuto l'identificatore del provider TV dell'utente dal framework dell'account del sottoscrittore 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 viene degradato tramite Adobe Primetime TVE Dashboard.
- Il SDK AccessEnabler iOS/tvOS ha ricevuto la risposta SAML del provider TV dell’utente dal framework dell’account dell’abbonato 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 di AccessEnabler iOS/tvOS SDK.
...
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 dal SDK AccessEnabler iOS/tvOS. Questo non faciliterebbe la pulizia delle sessioni sul lato MVPD.
- L'applicazione dovrebbe indicare/richiedere all'utente di disconnettersi esplicitamente da
Settings -> Accounts -> TV Providersu tvOS solo se il codice di stato VSA203 è attivato.
- L'applicazione deve avviare la disconnessione dal SDK AccessEnabler iOS/tvOS. Questo faciliterebbe la pulizia delle sessioni sul lato MVPD.
- L'applicazione dovrebbe indicare/richiedere all'utente di disconnettersi esplicitamente da
Settings -> TV Providersu iOS/iPadOS solo se il codice di stato VSA203 è attivato.