Manuale Amazon SSO (REST API V2) amazon-sso-cookbook-rest-api-v2

IMPORTANT
Il contenuto di questa pagina viene fornito solo a scopo informativo. L’utilizzo di questa API richiede una licenza corrente da Adobe. Non è consentito alcun uso non autorizzato.

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 imposta SSOEnablerCallback:

    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".
  • 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 classe com.amazon.ottssotokenlib.SSOEnabler.
  • 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
IMPORTANT
Per ulteriori dettagli sull'intestazione 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
IMPORTANT
Nel caso in cui il valore dell'intestazione Adobe-Subject-Token sia mancante o non valido, l'autenticazione Adobe Pass gestirà le richieste senza tenere conto del Single Sign-On.
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b