Manuale Apple SSO (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk

IMPORTANT
Il contenuto di questa pagina viene fornito solo a scopo informativo. L’utilizzo di questa API richiede una licenza corrente da Adobe. Non è consentito alcun uso non autorizzato.

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

TIP
Suggerimento pro: L'applicazione di streaming deve richiedere l'accesso alle informazioni di abbonamento dell'utente salvate a livello di dispositivo, per le quali l'utente deve concedere all'applicazione l'autorizzazione per continuare, in modo analogo a fornire l'accesso alla fotocamera o al microfono del dispositivo. Questa autorizzazione deve essere richiesta per applicazione utilizzando il framework dell'account dell'utente con sottoscrizione video di Apple e il dispositivo salverà la selezione dell'utente.
TIP
Suggerimento pro: si consiglia di incentivare gli utenti che rifiutano di concedere l'autorizzazione per accedere alle informazioni sull'abbonamento illustrando i vantaggi dell'esperienza utente Single Sign-On di Apple, ma è bene tenere presente che l'utente può modificare la propria decisione accedendo alle impostazioni dell'applicazione (autorizzazione del provider TV) o a Settings -> TV Provider su iOS e iPadOS o Settings -> Accounts -> TV Provider su tvOS.
TIP
Suggerimento pro: l'applicazione di streaming può richiedere l'autorizzazione dell'utente quando l'applicazione entra in primo piano, perché l'applicazione può controllare l'autorizzazione di accesso alle informazioni di sottoscrizione dell'utente in qualsiasi momento prima di richiedere l'autenticazione dell'utente.
TIP
Suggerimento pro: Nel caso in cui l'utente non conceda l'accesso alle sue informazioni di abbonamento o nel caso in cui la comunicazione con il framework dell'account del sottoscrittore video non riesca, l'SDK di AccessEnabler iOS/tvOS tornerà al normale flusso di autenticazione.
    ...
    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

TIP
Suggerimento pro: Implementa il seguente elenco di callback specifici per il flusso di lavoro SSO di Apple.

Segnalazione errori apple-sso-cookbook-iostvos-sdk-error-reporting

TIP
Suggerimento pro: Implementare il seguente elenco di codici di errore avanzati specifici per il flusso di lavoro SSO di Apple.
  • 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

TIP
Suggerimento: Segui i passaggi seguenti per l'implementazione iOS/iPadOS/tvOS.
  1. L'applicazione dovrà inizializzare l'SDK di AccessEnabler iOS/tvOS.

  2. 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.

  3. 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.

  4. 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).

TIP
Suggerimento: implementare questa impostazione tramite l'API logout dell'SDK di AccessEnabler iOS/tvOS.
TIP
Suggerimento pro: Segui i passaggi seguenti per le implementazioni tvOS.
  • 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.
TIP
Suggerimento pro: Segui i passaggi indicati di seguito per l'implementazione iOS/iPadOS.
  • 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.
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b