(Legacy) Manuale REST API (Client-to-Server) rest-api-cookbook-client-to-server
Panoramica overview
Questo documento fornisce istruzioni dettagliate per il team tecnico di un programmatore per integrare uno "smart device" (console giochi, app di smart TV, set top box, ecc.) con l’autenticazione di Adobe Pass utilizzando i servizi API REST. Questo approccio client-to-server, che utilizza le API REST anziché un SDK client, consente un supporto più ampio di piattaforme diverse per le quali non sarebbe possibile sviluppare un numero significativo di SDK univoci. Per un'ampia panoramica tecnica sul funzionamento della soluzione Clientless, vedere Panoramica tecnica Clientless.
Questo approccio richiede due componenti (streaming app e AuthN app) per completare i flussi richiesti: avvio, registrazione, autorizzazione e flussi view-media nell’app di streaming e il flusso di autenticazione nell’app AuthN.
Meccanismo di limitazione
L'API REST per l'autenticazione di Adobe Pass è gestita da un meccanismo di limitazione.
Componenti components
In una soluzione client-to-server funzionante sono coinvolti i seguenti componenti:
Flussi flows
Registrazione Dynamic Client (DCR)
Adobe Pass utilizza il DCR per proteggere le comunicazioni client tra un’applicazione o un server di programmazione e i servizi Adobe Pass. Il flusso DCR è separato ed è descritto nella documentazione Panoramica registrazione client dinamica.
Flussi di app in streaming (per dispositivi avanzati)
Flusso di avvio
-
L’app viene avviata e ne viene caricata l’interfaccia utente iniziale.
-
Ottieni/genera un ID dispositivo.
-
Effettua una chiamata di autenticazione tramite assegno per verificare se il dispositivo è già autenticato. Esempio:
<SP_FQDN>/api/v1/checkauthn [device ID] -
Se la chiamata
checkauthnha esito positivo, passare al flusso di autorizzazione dal passaggio 2 in poi. In caso di errore, avvia il flusso di registrazione.
Flusso di registrazione
-
Ottieni un codice di registrazione e un URL da utilizzare per accedere all’app di accesso alla seconda schermata e presentali all’utente:
a. Invia una richiesta POST al servizio Codice di registrazione di Adobe, trasmettendo un ID dispositivo con hash e un "URL di registrazione". Esempio:
<REGGIE_FQDN>/reggie/v1/[requestorId]/regcode [device ID]b. Presenta all’utente il codice di registrazione e l’URL restituiti.
c. Chiedere all'utente di passare a un dispositivo compatibile con il Web, passare all'URL e quindi immettere il codice di registrazione.
Flusso di autorizzazione
-
L’utente ritorna dalla seconda schermata dell’app e preme il pulsante "Continua" sul dispositivo. In alternativa, è possibile implementare un meccanismo di polling per controllare lo stato di autenticazione, ma l’autenticazione Adobe Pass consiglia il metodo del pulsante Continua sopra il polling. Ad esempio: <SP_FQDN>/api/v1/tokens/authn
-
Invia una richiesta GET al servizio di autorizzazione dell’autenticazione di Adobe Pass per avviare l’autorizzazione. Esempio:
<SP_FQDN>/api/v1/authorize [device ID, Requestor ID, Resource ID]
-
Se la risposta indica che l’operazione è riuscita: l’utente dispone di un token AuthN valido E dell’autorizzazione a guardare il file multimediale richiesto (per questo utente è disponibile un token AuthZ valido).
-
Se la risposta indica un errore: esamina l’eccezione generata per determinarne il tipo (AuthN, AuthZ o altro):
-
Se si è verificato un errore di autenticazione, riavviare il flusso di registrazione.
-
Se si è verificato un errore AuthZ, l’utente non è autorizzato a guardare il contenuto multimediale richiesto e deve visualizzare all’utente un qualche tipo di messaggio di errore.
-
Se si è verificato un altro errore (errore di connessione, errore di rete, ecc.), visualizza un messaggio di errore appropriato.
-
Visualizza flusso multimediale
-
Presentare le scelte multimediali. L’utente seleziona il file multimediale da visualizzare.
-
Il supporto è protetto?
a. L’app controlla se il supporto è protetto.
b. Se il supporto è protetto, l’app avvia l’autorizzazione
(AuthZ) Flusso sopra.c. Se il supporto non è protetto, riprodurlo per
utente. -
Riprodurre il contenuto multimediale.
Flusso app AuthN (seconda schermata)
-
Ottieni un elenco di MVPD per questo utente. Esempio:
<SP_FQDN>/api/v1/config/[requestorID] -
Avvia il flusso di autenticazione. Esempio:
<SP_FQDN>/api/v1/authenticate [requestorID, MVPD ID, Redirect URL, Domain name, Registration Code, "noflash=true"] -
Verifica se l’autenticazione è riuscita. Esempio:
<SP_FQDN>/api/v1/checkauthn/[registration code][requestor ID] -
Invia nuovamente l'utente all'app Smart Device per completare il flusso di autorizzazione.
Single Sign-On partner partner-sso
Alcuni dispositivi forniscono supporto dedicato per il Single Sign-On (SSO) dei partner:
Single Sign-On della piattaforma platform-sso
Alcuni dispositivi forniscono supporto dedicato per l’SSO (Single Sign-On) della piattaforma:
TempPass e Promotional TempPass per API REST temppass
Per le implementazioni TempPass e Promotional TempPass in cui l’utente non è tenuto a immettere credenziali, l’autenticazione può essere implementata direttamente nell’app di streaming.
Per utilizzare questa API, l'app di streaming deve verificare l'univocità dell'ID dispositivo, in quanto viene utilizzata per identificare il token, insieme ai dati aggiuntivi facoltativi.