DokumentationAdobe PassAdobe Pass-Authentifizierung

(Legacy) Amazon SSO Cookbook (REST API v1)

Letzte Aktualisierung: 13. Dezember 2024
  • Themen:
  • Authentifizierung
WICHTIG
Der Inhalt dieser Seite dient nur zu Informationszwecken. Die Verwendung dieser API erfordert eine aktuelle Lizenz von Adobe. Eine unbefugte Nutzung ist nicht zulässig.
WICHTIG
Achten Sie darauf, über die neuesten Ankündigungen zu Produkten der Adobe Pass-Authentifizierung und Stilllegungszeitpläne auf der Seite Produktankündigungen auf dem Laufenden zu bleiben.

Die Adobe Pass-Authentifizierungs-REST-API V1 unterstützt Platform Single Sign-On (SSO) für Endbenutzer von Client-Anwendungen, die auf FireOS ausgeführt werden.

Dieses Dokument dient als Erweiterung für die vorhandene REST API V1 - Übersicht die eine allgemeine Ansicht bietet.

Amazon-Single-Sign-on mit Platform-Identitätsflüssen

Voraussetzungen

Bevor Sie mit dem Amazon-Single-Sign-on unter Verwendung von Platform-Identitätsflüssen fortfahren, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind.

Integrieren von Amazon SSO SDK

Die Streaming-Anwendung muss die Amazon SSO SDK-Bibliothek für einmaliges Anmelden (SSO) in ihren Build integrieren.

  • Laden Sie die neueste Amazon SSO SDK-Bibliothek herunter und kopieren Sie sie in einen /SSOEnabler Ordner parallel zum Verzeichnis der Anwendung.

  • Aktualisieren Sie die Manifest- und Gradle-Dateien zur Verwendung der Amazon SSO SDK-Bibliothek.

    manifest:

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

    Gradle:

    Unter Repositorys:

    flatDir {
        dirs '../SSOEnabler'
    }
    

    Unter Abhängigkeiten:

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

Verwenden von Amazon SSO SDK

Die Streaming-Anwendung muss die Amazon SSO SDK verwenden, um die Payload des SSO-Tokens (Plattformidentität) abzurufen.

Amazon SSO SDK stellt sowohl synchrone als auch asynchrone APIs zum Abrufen der SSO-Token-Payload (Plattformidentität) bereit.

Die Streaming-Anwendung kann je nach Architektur eine der beiden Optionen auswählen.

Asynchrone APIs
  • Rufen Sie die SSOEnabler-Instanz ab und legen Sie die SSOEnablerCallback fest:

    SSOEnabler ssoEnabler = SSOEnabler.getInstance(context);
    
    SSOEnablerCallback ssoEnablerCallback = new SSOEnablerCallbackImpl();
    ssoEnabler.setSSOTokenCallback(ssoEnablerCallback);
    

    Dies kann während der Initialisierung der Streaming-Anwendung erfolgen.

    public static abstract class SSOEnablerCallback
    {
            public abstract void getSSOTokenSuccess(Bundle result);
            public abstract void getSSOTokenFailure(Bundle result);
    }
    

    Das Bundle SSO Token Success Response enthält:

    • Ein SSO-Token als string mit dem Schlüssel „SSOToken“.

    Das Bundle mit der SSO-Token-Fehlerantwort enthält:

    • Fehlercode als int mit Schlüssel „ErrorCode“.
    • Eine Fehlerbeschreibung als string mit dem Schlüssel „ErrorDescription“.
  • Abrufen des SSO-Tokens:

    Bundle getSSOTokenAsync(Void);
    

    Diese API stellt die Antwort über einen Callback bereit, der während der Initialisierung festgelegt wurde.

Synchrone APIs
  • SSOEnabler abrufen:

    SSOEnabler ssoEnabler = SSOEnabler.getInstance(context);
    
  • Abrufen des SSO-Tokens:

    Bundle getSSOTokenSync(Void);
    

    Diese API blockiert den Aufrufer-Thread und antwortet mit dem Ergebnispaket. Da es sich um einen synchronen Aufruf handelt, sollten Sie sicherstellen, dass Sie ihn nicht in Ihrem Haupt-Thread verwenden.

    void setSSOTokenTimeout(long);
    

    Diese API legt den Timeout-Wert für den synchronen Aufruf fest. Der Standardwert für die maximale Wartezeit ist 1 Minute.

Fallback für Amazon SSO

Die Streaming-Anwendung muss Fallback-Szenarien vom Amazon-SSO-Fluss zum regulären Authentifizierungsfluss verarbeiten.

Stellen Sie sicher, dass die Streaming-Anwendung Folgendes verarbeitet:

  • Das Fehlen der Amazon Companion-Anwendung, die auf dem Amazon-Gerät ausgeführt werden sollte.

    • Die Streaming-Anwendung kann zur Laufzeit auf eine ClassNotFoundException bei der folgenden com.amazon.ottssotokenlib.SSOEnabler stoßen.
  • Die Abwesenheit der Payload des SSO-Tokens (Plattformidentität), das von den oben genannten APIs zurückgegeben werden sollte.

    • Die Streaming-Anwendung kann sich zur Untersuchung an die Amazon- und Adobe-Support-Mitarbeiter wenden.

Workflow

Die Payload des Amazon-SSO-Tokens (Plattformidentität) muss bei allen HTTP-Anfragen vorhanden sein, die an Adobe Pass-Authentifizierungsendpunkte gesendet werden:

/adobe-services/*
/reggie/*
/api/*
IMPORTANT
Die Streaming-Anwendung kann beim /authenticate-Aufruf das Senden der Payload des Amazon-SSO-Tokens (Plattformidentität) überspringen, wie dies beim /regcode-Aufruf angegeben wurde.

Die Adobe Pass-Authentifizierung unterstützt die folgenden Methoden zum Empfang der SSO-Token-Payload (Plattformidentität), die eine Kennung im Gerätebereich oder Plattformbereich ist:

  • Als Kopfzeile mit dem Namen: Adobe-Subject-Token
  • Als Abfrageparameter mit dem Namen: ast
  • Als POST-Parameter mit dem Namen: ast
IMPORTANT
Wenn als Abfrageparameter gesendet wird, kann die gesamte URL sehr lang werden und abgelehnt werden.
Wenn sie als Abfrage-/POST-Parameter gesendet wird, muss sie beim Generieren der Anfragesignatur einbezogen werden.

Beispiele

Als Kopfzeile senden

GET /api/v1/config/{requestorId} HTTP/1.1
Host: sp-preprod.auth.adobe.com

Adobe-Subject-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJyb2t1IiwiaWF0IjoxNTExMzY4ODAyLCJleHAiOjE1NDI5MDQ4MDIsImF1ZCI6ImFkb2JlIiwic3ViIjoiNWZjYzMwODctYWJmZi00OGU4LWJhZTgtODQzODViZTFkMzQwIiwiZGlkIjoiY2FmZjQ1ZDAtM2NhMy00MDg3LWI2MjMtNjFkZjNhMmNlOWM4In0.JlBFhNhNCJCDXLwBjy5tt3PtPcqbMKEIGZ6sr2NA

Wird als Abfrageparameter gesendet

GET /api/v1/config/{requestorId}?ast=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJyb2t1IiwiaWF0IjoxNTExMzY4ODAyLCJleHAiOjE1NDI5MDQ4MDIsImF1ZCI6ImFkb2JlIiwic3ViIjoiNWZjYzMwODctYWJmZi00OGU4LWJhZTgtODQzODViZTFkMzQwIiwiZGlkIjoiY2FmZjQ1ZDAtM2NhMy00MDg3LWI2MjMtNjFkZjNhMmNlOWM4In0.JlBFhNhNCJCDXLwBjy5tt3PtPcqbMKEIGZ6sr2NA HTTP/1.1
Host: sp.auth.adobe.com

Als POST-Parameter senden

POST /api/v1/config/{requestorId}?ast=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJyb2t1IiwiaWF0IjoxNTExMzY4ODAyLCJleHAiOjE1NDI5MDQ4MDIsImF1ZCI6ImFkb2JlIiwic3ViIjoiNWZjYzMwODctYWJmZi00OGU4LWJhZTgtODQzODViZTFkMzQwIiwiZGlkIjoiY2FmZjQ1ZDAtM2NhMy00MDg3LWI2MjMtNjFkZjNhMmNlOWM4In0.Jl\_BFhN\_h\_NCJCDXLwBjy5tt3PtPcqbMKEIGZ6sr2NA HTTP/1.1
Host: sp.auth.adobe.com
Content-Type: multipart/form-data;
IMPORTANT
Falls der Adobe-Subject-Token-Header oder ast Parameterwert fehlt oder ungültig ist, verarbeitet die Adobe Pass-Authentifizierung die Anfragen, ohne Single Sign-On zu berücksichtigen.
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b