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

IMPORTANT
Innehållet på den här sidan tillhandahålls endast i informationssyfte. Användning av denna API kräver en aktuell licens från Adobe. Ingen obehörig användning är tillåten.

Adobe Pass Authentication REST API V2 har stöd för Platform Single Sign-On (SSO) för slutanvändare av klientprogram som körs på FireOS.

Det här dokumentet fungerar som ett tillägg till den befintliga REST API V2-översikten som ger en högnivåvy och det dokument som beskriver hur du implementerar enkel inloggning med plattformsidentitetsflöden.

Amazon samlad inloggning med plattformsidentitetsflöden cookbook

Förutsättningar prerequisites

Innan du fortsätter med Amazon Single Sign-on med plattformsidentitetsflöden måste du kontrollera att följande krav uppfylls.

Integrera Amazon SSO SDK integrate-amazon-sso-sdk

Direktuppspelningsprogrammet måste integrera biblioteket Amazon SSO SDK för enkel inloggning (SSO) i sitt bygge.

  • Hämta och kopiera det senaste Amazon SSO SDK-biblioteket till en /SSOEnabler-mapp parallellt med programmets katalog.

  • Uppdatera manifest- och Gradle-filerna för att använda Amazon SSO SDK-biblioteket.

    Manifest:

    code language-java
    <uses-library android:name="com.amazon.ottssotokenlib" android:required="false">
    

    Gradle:

    Under databaser:

    code language-java
    flatDir {
        dirs '../SSOEnabler'
    }
    

    Under beroenden:

    code language-java
    provided fileTree(include: ['ottSSOTokenStub.jar'], dir: '../SSOEnabler')
    

Använd Amazon SSO SDK use-amazon-sso-sdk

Strömningsprogrammet måste använda Amazon SSO SDK för att hämta SSO-tokennyttolasten (platform identity).

Amazon SSO SDK innehåller både synkrona och asynkrona API:er för att hämta SSO-tokennyttolasten (platform identity).

Strömningsprogrammet kan välja ett av de två alternativen baserat på dess arkitektur.

Asynkrona API:er
  • Hämta instansen SSOEnabler och ange SSOEnablerCallback:

    code language-java
    SSOEnabler ssoEnabler = SSOEnabler.getInstance(context);
    
    SSOEnablerCallback ssoEnablerCallback = new SSOEnablerCallbackImpl();
    ssoEnabler.setSSOTokenCallback(ssoEnablerCallback);
    

    Detta kan göras under initieringen av direktuppspelningsprogrammet.

    code language-java
    public static abstract class SSOEnablerCallback
    {
            public abstract void getSSOTokenSuccess(Bundle result);
            public abstract void getSSOTokenFailure(Bundle result);
    }
    

    Svarspaketet för lyckade SSO-token innehåller:

    • En SSO-token som en string med nyckeln SSOToken.

    Svarspaketet för SSO-tokenfel innehåller:

    • En felkod som int med nyckeln ErrorCode.
    • En felbeskrivning som string med nyckeln ErrorDescription.
  • Hämta SSO-token:

    code language-java
    Bundle getSSOTokenAsync(Void);
    

    Detta API tillhandahåller svaret via återanropsuppsättningen under initieringen.

Synkrona API:er
  • Hämta instansen SSOEnabler:

    code language-java
    SSOEnabler ssoEnabler = SSOEnabler.getInstance(context);
    
  • Hämta SSO-token:

    code language-java
    Bundle getSSOTokenSync(Void);
    

    Detta API blockerar anropartråden och svarar med resultatpaketet. Eftersom detta är ett synkront anrop bör du inte använda det i huvudtråden.

    code language-java
    void setSSOTokenTimeout(long);
    

    Detta API anger timeout-värdet för det synkrona anropet. Standardvärdet för timeout är 1 minut.

Reservation för Amazon SSO fallback-amazon-sso

Strömningsprogrammet måste hantera reservscenarier från Amazon SSO-flödet till det reguljära autentiseringsflödet.

Kontrollera att direktuppspelningsprogrammet hanterar:

  • Frånvaro av Amazon-tilläggsprogram som ska köras på Amazon-enheten.

    • Strömningsprogrammet kan stöta på ClassNotFoundException vid körning i följande klass com.amazon.ottssotokenlib.SSOEnabler.
  • Frånvaro av SSO-token (platform identity)-nyttolast som ska returneras av ovanstående API:er.

    • Direktuppspelningsapplikationen kan kontakta Amazon och Adobe för att undersöka saken.

Arbetsflöde workflow

Amazon SSO-tokennyttolasten (platform identity) måste finnas på alla HTTP-begäranden som görs mot Adobe Pass Authentication REST API V2-slutpunkter:

/api/v2/*

Adobe Pass Authentication REST API V2 stöder följande metoder för att ta emot SSO-tokennyttolasten (platform identity), som är en enhetsomfattning eller plattformsomfångad identifierare:

  • Som en rubrik med namnet: Adobe-Subject-Token
IMPORTANT
Mer information om rubriken Adobe-Subject-Token finns i Adobe-Subject-Token -dokumentationen.

Exempel

Skicka som rubrik

GET /api/v2/{serviceProvider}/sessions HTTP/1.1
Host: sp-preprod.auth.adobe.com

Adobe-Subject-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJyb2t1IiwiaWF0IjoxNTExMzY4ODAyLCJleHAiOjE1NDI5MDQ4MDIsImF1ZCI6ImFkb2JlIiwic3ViIjoiNWZjYzMwODctYWJmZi00OGU4LWJhZTgtODQzODViZTFkMzQwIiwiZGlkIjoiY2FmZjQ1ZDAtM2NhMy00MDg3LWI2MjMtNjFkZjNhMmNlOWM4In0.JlBFhNhNCJCDXLwBjy5tt3PtPcqbMKEIGZ6sr2NA
IMPORTANT
Om rubrikvärdet Adobe-Subject-Token saknas eller är ogiltigt hanterar Adobe Pass Authentication förfrågningarna utan att ta enkel inloggning i beaktande.
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b