Manuale Amazon SSO (REST API V2) amazon-sso-cookbook-rest-api-v2
L’API REST per l’autenticazione di Adobe Pass V2 supporta l’SSO (Single Sign-On) per piattaforma per gli utenti finali delle applicazioni client in esecuzione su FireOS.
Questo documento funge da estensione della Panoramica REST API V2 esistente che fornisce una visualizzazione di alto livello e il documento che descrive come implementare Single Sign-On utilizzando i flussi di identità della piattaforma.
Single sign-on Amazon tramite i flussi di identità della piattaforma cookbook
Adobe Pass Authentication collabora con Amazon per migliorare l’esperienza di accesso degli utenti e facilitare il Single Sign-On (SSO) tra le applicazioni TV Everywhere per gli abbonati TV.
Prerequisiti prerequisites
Prima di procedere con il Single Sign-On Amazon utilizzando i flussi di identità della piattaforma, verifica che siano soddisfatti i seguenti prerequisiti.
Integrare Amazon SSO SDK integrate-amazon-sso-sdk
L'applicazione di streaming deve integrare nella propria build la libreria Amazon SSO SDK per Single Sign-On (SSO).
-
Scaricare e copiare la libreria SDK SSO di Amazon più recente in una cartella
/SSOEnabler
parallela alla directory dell'applicazione. -
Aggiorna i file manifest e Gradle per utilizzare la libreria SDK SSO di Amazon.
Manifesto:
code language-java <uses-library android:name="com.amazon.ottssotokenlib" android:required="false">
Livello:
In archivi:
code language-java flatDir { dirs '../SSOEnabler' }
In dipendenze:
code language-java provided fileTree(include: ['ottSSOTokenStub.jar'], dir: '../SSOEnabler')
Utilizzare Amazon SSO SDK use-amazon-sso-sdk
L’applicazione di streaming deve utilizzare Amazon SSO SDK per ottenere il payload del token SSO (identità della piattaforma).
Amazon SSO SDK fornisce API sia sincrone che asincrone per ottenere il payload del token SSO (identità della piattaforma).
L’applicazione di streaming può scegliere una delle due opzioni in base alla propria architettura.
API asincrone
-
Ottieni l'istanza
SSOEnabler
e impostaSSOEnablerCallback
:code language-java SSOEnabler ssoEnabler = SSOEnabler.getInstance(context); SSOEnablerCallback ssoEnablerCallback = new SSOEnablerCallbackImpl(); ssoEnabler.setSSOTokenCallback(ssoEnablerCallback);
Questa operazione può essere eseguita durante l’inizializzazione dell’applicazione di streaming.
code language-java public static abstract class SSOEnablerCallback { public abstract void getSSOTokenSuccess(Bundle result); public abstract void getSSOTokenFailure(Bundle result); }
Il bundle di risposta di successo del token SSO conterrà:
- Un token SSO come
string
con chiave "SSOToken".
Il bundle di risposta in caso di errore del token SSO conterrà:
- Codice di errore come
int
con chiave "ErrorCode". - Descrizione di errore come
string
con chiave "ErrorDescription".
- Un token SSO come
-
Ottieni il token SSO:
code language-java Bundle getSSOTokenAsync(Void);
Questa API fornirà la risposta tramite callback impostati durante l’inizializzazione.
API sincrone
-
Ottieni l'istanza
SSOEnabler
:code language-java SSOEnabler ssoEnabler = SSOEnabler.getInstance(context);
-
Ottieni il token SSO:
code language-java Bundle getSSOTokenSync(Void);
Questa API blocca il thread chiamante e risponde con il bundle dei risultati. Poiché si tratta di una chiamata sincrona, non utilizzarla nel thread principale.
code language-java void setSSOTokenTimeout(long);
Questa API imposterà il valore di timeout per la chiamata sincrona. Il valore di timeout predefinito è 1 minuto.
Fallback per Amazon SSO fallback-amazon-sso
L’applicazione di streaming deve gestire gli scenari di fallback dal flusso SSO di Amazon al flusso di autenticazione regolare.
Assicurati che l’applicazione di streaming gestisca:
-
L’assenza dell’applicazione ausiliaria Amazon che deve essere in esecuzione sul dispositivo Amazon.
- L'applicazione di streaming potrebbe incontrare un
ClassNotFoundException
in fase di runtime nella seguente classecom.amazon.ottssotokenlib.SSOEnabler
.
- L'applicazione di streaming potrebbe incontrare un
-
L’assenza del payload del token SSO (identità della piattaforma) che deve essere restituito dalle API precedenti.
- L’applicazione di streaming può contattare i rappresentanti di Amazon e Adobe per effettuare un’indagine.
Flusso di lavoro workflow
Il payload del token SSO di Amazon (identità della piattaforma) deve essere presente in tutte le richieste HTTP effettuate sugli endpoint REST API V2 di autenticazione di Adobe Pass:
/api/v2/*
L’API REST V2 per l’autenticazione di Adobe Pass supporta i seguenti metodi per ricevere il payload del token SSO (identità della piattaforma), che è un identificatore con ambito dispositivo o piattaforma:
- Come intestazione con nome:
Adobe-Subject-Token
Adobe-Subject-Token
, consulta la documentazione Adobe-Subject-Token.Esempi
Invio come intestazione
GET /api/v2/{serviceProvider}/sessions HTTP/1.1
Host: sp-preprod.auth.adobe.com
Adobe-Subject-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJyb2t1IiwiaWF0IjoxNTExMzY4ODAyLCJleHAiOjE1NDI5MDQ4MDIsImF1ZCI6ImFkb2JlIiwic3ViIjoiNWZjYzMwODctYWJmZi00OGU4LWJhZTgtODQzODViZTFkMzQwIiwiZGlkIjoiY2FmZjQ1ZDAtM2NhMy00MDg3LWI2MjMtNjFkZjNhMmNlOWM4In0.JlBFhNhNCJCDXLwBjy5tt3PtPcqbMKEIGZ6sr2NA
Adobe-Subject-Token
sia mancante o non valido, l'autenticazione Adobe Pass gestirà le richieste senza tenere conto del Single Sign-On.