Elenco di controllo REST API V2 rest-api-v2-checklist
- Argomenti:
- Autenticazione
Questo documento aggrega in un'unica posizione i requisiti obbligatori e le procedure consigliate per i programmatori che implementano applicazioni client che utilizzano l'autenticazione Adobe Pass REST API V2.
Il seguente documento deve essere considerato parte dei criteri di accettazione durante l’implementazione dell’API REST V2 e deve essere utilizzato come elenco di controllo per garantire che siano stati eseguiti tutti i passaggi necessari per ottenere una corretta integrazione.
Requisiti obbligatori mandatory-requirements
1. Fase di registrazione mandatory-requirements-registration-phase
Non richiedere un nuovo token per ogni chiamata API REST v2, aggiorna i token di accesso solo alla scadenza.
2. Fase di configurazione mandatory-requirements-configuration-phase
Recupera la risposta di configurazione solo quando viene richiesto di richiedere all’utente di selezionare il proprio MVPD (provider TV) prima della fase di autenticazione.
Non è necessario recuperare la risposta di configurazione quando:
- Utente già autenticato.
- All’utente viene offerto l’accesso temporaneo.
- L’autenticazione dell’utente è scaduta, ma è possibile richiedere all’utente di confermare che è ancora un abbonato del MVPD selezionato in precedenza.
Memorizza la selezione del provider di Pay TV (MVPD) dell'utente in un archivio permanente per utilizzarla in tutte le fasi successive:
- Dall’archivio di risposta della configurazione, l’utente ha selezionato "id" MVPD.
- Dall’archivio di risposta della configurazione, l’utente ha selezionato MVPD "displayName".
- Dall’archivio di risposta della configurazione, l’utente ha selezionato "logoUrl" MVPD.
3. Fase di autenticazione mandatory-requirements-authentication-phase
Avvia il meccanismo di polling nelle seguenti condizioni:
Autenticazione eseguita nell'applicazione primaria (schermata)
- L’applicazione primaria (streaming) deve avviare il polling quando l’utente raggiunge la pagina di destinazione finale, dopo che il componente browser carica l’URL specificato per il parametro "redirectUrl" nella richiesta dell’endpoint "Sessions".
Autenticazione eseguita all'interno di un'applicazione secondaria (schermo)
- L’applicazione principale (streaming) deve avviare il polling non appena l’utente avvia il processo di autenticazione, subito dopo aver ricevuto la risposta dell’endpoint Sessions e aver visualizzato il codice di autenticazione per l’utente.
Arresta il meccanismo di polling nelle seguenti condizioni:
Autenticazione riuscita
- Le informazioni del profilo dell’utente vengono recuperate correttamente, confermando il loro stato di autenticazione, pertanto il polling non è più necessario.
Sessione di autenticazione e scadenza del codice
- La sessione di autenticazione e il codice scadono, l’utente deve riavviare il processo di autenticazione e il polling che utilizza il codice di autenticazione precedente deve essere interrotto immediatamente.
Nuovo codice di autenticazione generato
- Se l’utente richiede un nuovo codice di autenticazione, la sessione esistente viene invalidata e il polling che utilizza il codice di autenticazione precedente deve essere interrotto immediatamente.
Configura la frequenza del meccanismo di polling nelle seguenti condizioni:
Autenticazione eseguita nell'applicazione primaria (schermata)
- L’applicazione principale (streaming) deve eseguire il polling ogni 3-5 secondi o più.
Autenticazione eseguita all'interno di un'applicazione secondaria (schermo)
- L’applicazione principale (streaming) deve eseguire il polling ogni 3-5 secondi.
Memorizza parti delle informazioni del profilo dell’utente nell’archiviazione persistente per migliorare le prestazioni e ridurre al minimo le chiamate REST API v2 non necessarie.
La memorizzazione nella cache deve concentrarsi sui seguenti campi di risposta dei profili:
mvpd
- L'applicazione client può utilizzarlo per tenere traccia del provider TV selezionato dall'utente e continuare a utilizzarlo ulteriormente durante le fasi di pre-autorizzazione o autorizzazione.
- Alla scadenza del profilo utente corrente, l’applicazione client può utilizzare la selezione di MVPD memorizzata e chiedere semplicemente all’utente di confermare.
attributi
- Utilizzato per personalizzare l’esperienza utente in base a diverse chiavi di metadati utente (ad esempio, zip, maxRating, ecc.).
- I metadati dell’utente diventano disponibili al termine del flusso di autenticazione, pertanto l’applicazione client non deve eseguire query su un endpoint separato per recuperare le informazioni sui metadati dell’utente, in quanto sono già incluse nelle informazioni del profilo.
- Alcuni attributi di metadati possono essere aggiornati durante la fase di autorizzazione, a seconda di MVPD (ad esempio, Charter) e dell’attributo di metadati specifico (ad esempio, familyID). Di conseguenza, l’applicazione client potrebbe dover eseguire nuovamente la query sulle API dei profili dopo l’autorizzazione per recuperare i metadati dell’utente più recenti.
4. (Facoltativo) Fase di pre-autorizzazione mandatory-requirements-preauthorization-phase
Rischio di aggirare i sistemi di monitoraggio e di avviso.
Solo un numero limitato di codici di errore avanzati richiede un nuovo tentativo, mentre la maggior parte richiede risoluzioni alternative come specificato nel campo Azione.
Assicurarsi che qualsiasi meccanismo di ripetizione dei tentativi implementato per recuperare le decisioni di pre-autorizzazione non generi un loop infinito e che limiti i tentativi a un numero ragionevole (ad esempio, 2-3).
5. Fase di autorizzazione mandatory-requirements-authorization-phase
Consenti ai flussi di continuare senza interruzioni anche se il token multimediale scade durante la riproduzione e richiedi una nuova decisione di autorizzazione contenente un token multimediale (nuovo) quando l'utente effettua la richiesta di riproduzione successiva, indipendentemente dal fatto che si tratti della stessa risorsa o di una risorsa diversa.
I flussi attivi in esecuzione per periodi di tempo prolungati possono scegliere di richiedere una nuova decisione di autorizzazione in seguito a operazioni video quali la sospensione del contenuto, l'avvio di interruzioni commerciali o la modifica di configurazioni a livello di risorsa quando il sistema MRSS subisce modifiche.
Rischio di aggirare i sistemi di monitoraggio e di avviso.
Solo un numero limitato di codici di errore avanzati richiede un nuovo tentativo, mentre la maggior parte richiede risoluzioni alternative come specificato nel campo Azione.
Assicurarsi che qualsiasi meccanismo di esecuzione di nuovi tentativi implementato per recuperare le decisioni di autorizzazione non generi un loop infinito e che limiti i nuovi tentativi a un numero ragionevole (ad esempio, 2-3).
6. Fase di disconnessione mandatory-requirements-logout-phase
Implementa l’API di logout per consentire agli utenti di disconnettersi manualmente, terminando il loro profilo autenticato e seguire il nome dell’azione REST API v2 specificato per ogni profilo rimosso:
- Per gli MVPD che supportano un endpoint di logout, l’applicazione client deve passare all’"url" fornito in un user-agent.
- Per i profili di tipo "appleSSO", l’applicazione client richiede di guidare l’utente anche alla disconnessione dal livello partner (impostazioni di sistema di Apple).
7. Parametri e intestazioni mandatory-requirements-parameters-headers
Anche quando la richiesta proviene da un server per conto di un dispositivo, il valore dell'intestazione AP-Device-Identifier deve riflettere l'identificatore effettivo del dispositivo di streaming.
Anche quando la richiesta proviene da un server per conto di un dispositivo, il valore dell'intestazione X-Device-Info deve riflettere le informazioni effettive sul dispositivo di streaming.
Inoltre, alcuni campi, come connectionIp e connectionPort del dispositivo di streaming, sono obbligatori per funzionalità quali l'autenticazione di base di Spectrum.
Per le piattaforme senza un identificatore hardware, generare un identificatore univoco dagli attributi dell'applicazione e mantenerlo.
8. Gestione degli errori mandatory-requirements-error-handling
Solo un numero limitato di codici di errore avanzati richiede un nuovo tentativo, mentre la maggior parte richiede risoluzioni alternative come specificato nel campo Azione.
La maggior parte dei codici di errore avanzati elencati nella documentazione di Codici di errore avanzati - REST API V2 può essere impedita completamente se gestita correttamente durante la fase di sviluppo prima di avviare l'applicazione.
Rischia il malfunzionamento dell'applicazione client a causa di una gestione mancante dei codici di errore avanzati, causando messaggi di errore non chiari, istruzioni utente non corrette o comportamenti di fallback non corretti.
Solo un numero limitato di codici di errore HTTP richiede un nuovo tentativo, mentre la maggior parte richiede risoluzioni alternative.
La maggior parte delle risposte di errore HTTP può essere evitata completamente se gestita correttamente durante la fase di sviluppo prima di avviare l'applicazione.
Rischia il malfunzionamento dell'applicazione client a causa di una gestione mancante dei codici di errore avanzati, causando messaggi di errore non chiari, istruzioni utente non corrette o comportamenti di fallback non corretti.
9. Prove mandatory-requirements-testing
Sviluppa e testa l’applicazione utilizzando gli ambienti ufficiali non di produzione per l’autenticazione di Adobe Pass:
- Prequal-Produzione
- Release-Staging
Esegui un controllo qualità completo in questi ambienti prima di lanciare la versione di produzione.
Le applicazioni client non devono passare alla fase Release-Production senza aver prima completato la convalida end-to-end in ambienti non di produzione.
La mancanza di un percorso di debug breve ed efficiente può impedire al supporto e al team tecnico di Adobe di intervenire rapidamente.
Procedure consigliate recommended-practices
1. Fase di registrazione recommended-practices-registration-phase
Prima di ritentare la richiesta originale, verificare che il token di accesso venga aggiornato in base a eventuali tentativi per la gestione di errori HTTP 401 "Non autorizzati".
2. Fase di configurazione recommended-practices-configuration-phase
3. Fase di autenticazione recommended-practices-authentication-phase
Convalida il codice di autenticazione inviato tramite l'input dell'utente nell'applicazione secondaria (seconda) (schermata) prima di chiamare l'API /api/v2/authenticate nelle seguenti condizioni:
Autenticazione eseguita nell'applicazione secondaria (schermata) con mvpd preselezionato
- Utilizza Riprendi sessione di autenticazione - POST /api/v2/{serviceProvider}/session/{code}
Autenticazione eseguita nell'applicazione secondaria (schermo) senza mvpd preselezionato
- Utilizza Recupera sessione di autenticazione - GET /api/v2/{serviceProvider}/session/{code}
L’applicazione client riceverebbe un errore se il codice di autenticazione fornito fosse stato digitato in modo errato o nel caso in cui la sessione di autenticazione fosse scaduta.
Supporta i flussi non di base nel caso in cui l’attività dell’applicazione client richieda:
- Flussi di accesso degradati (funzionalità premium)
- Flussi di accesso temporanei (funzionalità Premium)
- Flussi di accesso Single Sign-On (funzionalità standard)
4. (Facoltativo) Fase di pre-autorizzazione recommended-practices-preauthorization-phase
5. Fase di autorizzazione recommended-practices-authorization-phase
6. Fase di disconnessione recommended-practices-logout-phase
7. Parametri e intestazioni recommended-practices-parameters-headers
Riutilizzare il codice da REST API v1 per richiamare l'API DCR per recuperare un token di accesso.
8. Prove recommended-practices-testing
Verifica che i seguenti flussi di base siano testati tra dispositivi e piattaforme:
Flussi di autenticazione
- Scenario di autenticazione applicazione primaria (schermata)
- Scenario di autenticazione applicazione secondaria (schermata)
(Facoltativo) Flussi di preautorizzazione
- Scenario delle decisioni relative alle autorizzazioni di prova
- Verifica scenario decisioni di rifiuto
Flussi di autorizzazione
- Scenario delle decisioni relative alle autorizzazioni di prova
- Verifica scenario decisioni di rifiuto
Flussi di disconnessione
Verificare inoltre altri flussi di accesso, se applicabili:
- Flussi di accesso degradati (funzionalità premium)
- Flussi di accesso temporanei (funzionalità Premium)
- Flussi di accesso Single Sign-On (funzionalità standard)
Integrazioni MVPD di livello superiore (per i provider più utilizzati).
Riepilogo summary
Token di accesso alla cache
Memorizza nella cache parti dei profili
Supporta la funzionalità di degrado (se richiesta dall'azienda)
Supporta la funzionalità TempPass (se richiesta dall'azienda)
Supporta la funzionalità Single Sign-On (se richiesta dall'azienda)
Ripeti ottimizzazione del meccanismo
Ripeti ottimizzazione del meccanismo
Convalida del token multimediale
Implementa gestione degli errori HTTP