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:
- 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 durantesetRequestor
. - Finestra iFrame/Popup - Dopo che l'utente ha selezionato un provider (configurato con iFrame),
setSelectedProvider(<mvpd>)
viene richiamato in AccessEnabler. Questa azione attiverà il callbackcreateIFrame(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 durantesetRequestor
.
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:
- 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.
- 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 eseguesetSelectedProvider(null)
. Questa chiamata consente ad AccessEnabler di cancellare il proprio stato interno e consente all'utente di avviare un flusso di autenticazione successivo.setAuthenticationStatus
esendTrackingData(AUTHENTICATION_DETECTION...)
verranno attivati per segnalare un flusso di autenticazione non riuscito (sia sugetAuthentication
che sugetAuthorization
). - 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.