Descrizione dettagliata

Iniziamo con un riepilogo dei flussi di autenticazione e disconnessione originali, quindi seguiamo questo con i flussi di autenticazione e disconnessione migliorati. Si noti che le prime quattro sezioni riguardano i normali MVPD (non-TempPass), mentre l'ultima descrive l'implementazione speciale che deve essere applicata per TempPass:

Flussi di autenticazione/disconnessione originali

Autenticazione

I client web di Adobe Pass Authentication possono autenticarsi in due modi, a seconda dei requisiti degli MVPD:

  1. Reindirizzamento a pagina intera - dopo che l'utente ha selezionato un provider (configurato con reindirizzamento a pagina intera) dal selettore MVPD sulla Il sito Web del programmatore setSelectedProvider(<mvpd>) viene richiamato in AccessEnabler e l'utente viene reindirizzato alla pagina di accesso di MVPD. Dopo che l'utente ha fornito credenziali valide, viene reindirizzato al sito Web del programmatore. AccessEnabler è inizializzato e il token di autenticazione viene recuperato dall'autenticazione di Adobe Pass durante setRequestor.
  2. Finestra iFrame/Popup - Dopo che l'utente ha selezionato un provider (configurato con iFrame), setSelectedProvider(<mvpd>) viene richiamato in AccessEnabler. Questa azione attiverà il callback createIFrame(width, height), avvisando il programmatore di creare un iFrame (o pop-up - a seconda del browser/preferenze) con il nome "mvpdframe" e le dimensioni fornite. Dopo aver creato l’iFrame/popup, AccessEnabler carica la pagina di accesso di MVPD nell’iFrame/popup. L’utente fornisce credenziali valide e l’iFrame/popup viene reindirizzato all’autenticazione Adobe Pass, che restituisce uno snippet JS che chiude l’iFrame/popup e ricarica la pagina padre (sito web Programmatore). Analogamente al flusso 1, il token di autenticazione viene recuperato durante setRequestor.

Il callback displayProviderDialog (attivato da getAuthentication/getAuthorization) restituisce un elenco di MVPD e le relative impostazioni appropriate. La proprietà iFrameRequired di un MVPD consente al programmatore di sapere se deve attivare il flusso 1 o il flusso 2. Si noti che il programmatore è tenuto a intraprendere azioni aggiuntive (creazione di un iFrame/popup) solo per il flusso 2.

Annulla autenticazione

Inoltre, l’utente annulla esplicitamente il flusso di autenticazione chiudendo la pagina di accesso. Di seguito sono riportati gli scenari e la soluzione proposta ai programmatori:

  1. Reindirizzamento a pagina intera - Quando la pagina di accesso viene chiusa, l'utente dovrà tornare al sito Web del programmatore e avviare l'intero flusso dall'inizio. In questo scenario non è richiesta alcuna azione esplicita da parte del programmatore.
  2. iFrame - Si consiglia al programmatore di ospitare l'iFrame all'interno di un div (o componente simile dell'interfaccia utente) a cui è associato un pulsante Chiudi. Quando l'utente preme il pulsante Chiudi, il programmatore distrugge l'iFrame insieme all'interfaccia utente associata ed esegue setSelectedProvider(null). Questa chiamata consente ad AccessEnabler di cancellare il proprio stato interno e consente all'utente di avviare un flusso di autenticazione successivo. setAuthenticationStatus e sendTrackingData(AUTHENTICATION_DETECTION...) verranno attivati per segnalare un flusso di autenticazione non riuscito (sia su getAuthentication che su getAuthorization).
  3. Popup - Alcuni browser non sono in grado di rilevare con precisione l'evento di chiusura della finestra, pertanto è necessario adottare un approccio diverso (a differenza del flusso iFrame riportato sopra). Adobe consiglia al programmatore di inizializzare un timer che verifichi periodicamente l'esistenza del popup di accesso. Se la finestra non esiste, il programmatore può essere sicuro che l'utente abbia annullato manualmente il flusso di accesso e che il programmatore possa continuare a chiamare setSelectedProvider(null). I callback attivati sono gli stessi del flusso 2 precedente.