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

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

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

TIP
Suggerimento pro: Per poter accedere alle informazioni di abbonamento dell’utente, l’utente deve concedere all’applicazione l’autorizzazione per procedere, in modo analogo a fornire l’accesso alla fotocamera o al microfono del dispositivo. Questa autorizzazione deve essere richiesta per applicazione e il dispositivo salverà la selezione dell'utente. È importante ricordare che l'utente può modificare la propria decisione accedendo alle impostazioni dell'applicazione (autorizzazione di accesso del provider TV) o alla sezione da Settings -> TV Provider su iOS/iPadOS o Settings -> Accounts -> TV Provider su tvOS.
TIP
Suggerimento pro: È consigliabile richiedere l'autorizzazione dell'utente quando l'applicazione entra in primo piano, ma si tratta solo di un suggerimento, in quanto l'applicazione può verificare autorizzazione di accesso le informazioni di abbonamento dell’utente in qualsiasi momento prima di richiedere l’autenticazione dell’utente. Inoltre, le API SDK di AccessEnabler iOS/tvOS richiederanno automaticamente l’autorizzazione dell’utente quando necessario.
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 effettuerà il fallback al flusso di autenticazione regolare.
TIP
Suggerimento pro: Consigliamo di incentivare gli utenti che rifiutano di concedere l’autorizzazione per accedere alle informazioni sull’abbonamento spiegando i vantaggi dell’esperienza utente Single Sign-On (SSO). È importante ricordare che l'utente può modificare la propria decisione accedendo alle impostazioni dell'applicazione (autorizzazione di accesso del provider TV) o alla sezione da 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

TIP
Suggerimento pro: Implementa il seguente elenco di callback specifiche del flusso di lavoro SSO di Apple.

Segnalazione errori

TIP
Suggerimento pro: Implementa il seguente elenco di codici di errore avanzati specifiche del 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 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

TIP
Suggerimento Segui i passaggi seguenti per le implementazioni iOS/iPadOS/tvOS.
  1. L'applicazione dovrebbe inizializzare l’SDK AccessEnabler iOS/tvOS.

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

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

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

TIP
Suggerimento Implementare questo attraverso l’SDK di AccessEnabler iOS/tvOS logout API.
TIP
Suggerimento pro: Segui i passaggi seguenti per le implementazioni tvOS.
  • 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.
TIP
Suggerimento pro: Segui i passaggi seguenti per le implementazioni iOS/iPadOS.
  • 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.
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b