Apple SSO-Cookbook (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk

NOTE
Der Inhalt dieser Seite dient nur Informationszwecken. Für die Verwendung dieser API ist eine aktuelle Lizenz von Adobe erforderlich. Eine unbefugte Anwendung ist nicht zulässig.

Einführung Introduction

Das Adobe Primetime Authentication AccessEnabler iOS/tvOS SDK unterstützt die SSO-Authentifizierung (Single Sign-On) für Endbenutzer von Clientanwendungen, die auf iOS, iPadOS oder tvOS ausgeführt werden, über einen so genannten Apple SSO-Workflow.

Beachten Sie, dass dieses Dokument als Erweiterung der vorhandenen AccessEnabler iOS/tvOS SDK-Dokumentation dient, die Sie hier finden here.

Cookbook Cookbook

Um von der Apple SSO-Benutzererfahrung zu profitieren, muss eine Anwendung das AccessEnabler iOS/tvOS SDK integrieren und die unten dargestellten Tipps befolgen.

Voraussetzungen Prerequisites

Berechtigung

TIP
Pro Tipp: Um Zugriff auf die Abonnementinformationen des Benutzers zu erhalten, muss der Benutzer der Anwendung die Berechtigung zum Fortfahren erteilen, ähnlich wie beim Gewähren des Zugriffs auf die Kamera oder das Mikrofon des Geräts. Diese Berechtigung muss pro Anwendung angefordert werden. Das Gerät speichert die Auswahl des Benutzers. Beachten Sie, dass der Benutzer seine Entscheidung ändern kann, indem er zu den Anwendungseinstellungen (Zugriffsberechtigung für TV-Anbieter) oder zum Abschnitt über Settings -> TV Provider auf iOS/iPadOS oder Settings -> Accounts -> TV Provider auf tvOS.
TIP
Pro Tipp: Es wird empfohlen, die Berechtigung des Benutzers anzufordern, wenn die Anwendung in den Vordergrund wechselt. Dies ist jedoch nur ein Vorschlag, da die Anwendung nach Zugriffsberechtigung die Abonnementinformationen des Benutzers zu jedem Zeitpunkt, bevor eine Benutzerauthentifizierung erforderlich ist. Außerdem fordern die AccessEnabler iOS/tvOS SDK-APIs bei Bedarf automatisch die Benutzerberechtigung an.
TIP
Pro Tipp: Wenn der Benutzer keinen Zugriff auf seine Abonnementinformationen gewährt oder die Kommunikation mit dem Video Subscriber Account Framework fehlschlägt, kehrt das AccessEnabler iOS/tvOS SDK zum regulären Authentifizierungsfluss zurück.
TIP
Pro Tipp: Es wird empfohlen, Benutzer, die die Erlaubnis zum Zugriff auf Abonnementinformationen verweigern, dazu anzuregen, indem die Vorteile des Single Sign-On (SSO)-Benutzererlebnisses erläutert werden. Beachten Sie, dass der Benutzer seine Entscheidung ändern kann, indem er zu den Anwendungseinstellungen (Zugriffsberechtigung für TV-Anbieter) oder zum Abschnitt über Settings -> TV Provider auf iOS/iPadOS oder Settings -> Accounts -> TV Provider auf tvOS.
    ...
    let videoSubscriberAccountManager: VSAccountManager = VSAccountManager();

    videoSubscriberAccountManager.checkAccessStatus(options: [VSCheckAccessOption.prompt: true]) { (accessStatus, error) -> Void in
                switch (accessStatus) {
                // The user allows the application to access subscription information.
                case VSAccountAccessStatus.granted:
                   // Do nothing.

                // The user has not yet made a choice or does not allow the application to access subscription information.
                default:
                   // Incentivize users who refuse to give permission to access subscription information by explaining the benefits of the Single Sign-On (SSO) user experience. Please bear in mind that the user can change its decision by going to the application settings (TV Provider permission access) or to the section from Settings -> TV Provider on iOS/iPadOS or Settings -> Accounts -> TV Provider on tvOS.
                   ...
                }
    }
    ...

Rückrufe

TIP
Pro Tipp: Implementieren Sie die folgende Liste von Callbacks die spezifisch für den Apple SSO-Workflow sind.

Fehlerberichte

TIP
Pro Tipp: Implementieren Sie die folgende Liste von erweiterte Fehlercodes die spezifisch für den Apple SSO-Workflow sind.
  • N003 - Der Benutzer hat in der Apple MVPD-Auswahl die Option "Andere TV-Anbieter"ausgewählt.
  • N004 - Der Benutzer hat einen Fernsehanbieter aus der Apple MVPD-Auswahl ausgewählt, der vom aktuellen Anfragenden nicht unterstützt wird (Integration oder Single-Sign-On ist deaktiviert).
  • N005 - Der Benutzer hat beschlossen, den regulären MVPD-Picker oder die Apple-MVPD-Auswahl abzubrechen.
  • VSA403 - Die Berechtigung TV Provider des Benutzers für die Anwendung wird verweigert.
  • VSA404 - Die Berechtigung TV Provider des Benutzers für die Anwendung wird nicht festgelegt.
  • VSA 503 - Die Metadaten-Anfrage für das Video-Abonnentenkonto ist fehlgeschlagen. Mehr Kontext wird im Abschnitt message -Feld.
  • AAPL / APPL_ERROR - Die Metadaten-Anfrage für das Video-Abonnentenkonto ist fehlgeschlagen. Mehr Kontext wird im Abschnitt details -Feld.

Authentifizierung Authentication

TIP
Tipp: Gehen Sie wie folgt vor, um die Implementierung von iOS/iPadOS/tvOS durchzuführen.
  1. Der Antrag müsste initialize das AccessEnabler iOS/tvOS-SDK.

  2. Der Antrag müsste Festlegen der aktuellen Anforderungs-ID.

    Wichtig: In diesem zweiten Schritt kann ein Trigger erweiterter Fehlercode die für den Apple SSO-Workflow spezifisch ist, falls eines der folgenden Ereignisse wahr ist:

    • VSA403 - Die Berechtigung TV Provider des Benutzers für die Anwendung wird verweigert.
    • VSA404 - Die Berechtigung TV Provider des Benutzers für die Anwendung wird nicht festgelegt.
    • APPL - Bei der Kommunikation zwischen dem AccessEnabler iOS/tvOS SDK und dem Video Subscriber Account Framework ist ein Fehler aufgetreten.

    In diesem zweiten Schritt wird versucht, das Apple SSO-Profil für ein Adobe-Authentifizierungstoken still zu tauschen, falls alle oben genannten Werte falsch sind und alle folgenden Punkte sind wahr:

    • Die TV Provider-Berechtigung des Benutzers wird für die Anwendung gewährt.
    • Der Benutzer ist auf Geräteebene bei seinem TV-Provider-Konto angemeldet.
    • Das AccessEnabler iOS/tvOS-SDK hat die TV-Provider-Kennung des Benutzers aus dem Framework für Video-Abonnentenkonten erhalten.
    • Die Integration des TV-Anbieters des Benutzers mit der Anwendung wird über das Adobe Primetime TVE Dashboard aktiviert.
    • Das Single-Sign-On des TV-Anbieters des Benutzers mit der Anwendung wird über das Adobe Primetime TVE-Dashboard aktiviert.
    • Der Fernsehanbieter des Benutzers wird nicht über das Adobe Primetime TVE-Dashboard beschädigt.
    • Das AccessEnabler iOS/tvOS SDK hat die SAML-Antwort des Fernsehanbieters des Benutzers vom Framework für Videoponnentenkonten erhalten.

    Pro Tipp: In diesem zweiten Schritt werden neben dem setRequestorComplete Callback, da die Authentifizierung nicht explizit von der Anwendung initiiert wurde.

  3. Der Antrag müsste Authentifizierungsstatus überprüfen.

    Wichtig: Dieser dritte Schritt könnte einen Trigger erweiterter Fehlercode die für den Apple SSO-Workflow spezifisch ist, falls eines der folgenden Ereignisse wahr ist:

    • *VSA403 - Der Benutzer ist auf Geräteebene beim TV-Provider-Konto angemeldet, aber die TV Provider-Berechtigung des Benutzers für die Anwendung wird verweigert.
    • *VSA404 - Der Benutzer ist auf Geräteebene beim TV-Provider-Konto angemeldet, aber die TV-Provider-Berechtigung des Benutzers für die Anwendung wird nicht festgelegt.
    • *APPL_ERROR - Der Benutzer ist auf Geräteebene beim TV-Provider-Konto angemeldet, bei der Kommunikation zwischen dem AccessEnabler iOS/tvOS SDK und dem Video Subscriber Account Framework ist jedoch ein Fehler aufgetreten.

    Wichtig: Dieser dritte Schritt wird den Trigger setAuthenticationStatus Callback mit status gleich 0, in dem Fall eines der folgenden Ereignisse wahr ist:

    • Der Benutzer ist nicht beim TV-Provider-Konto auf Gerätesystemebene oder über einen normalen Authentifizierungsfluss angemeldet.
    • Der Benutzer ist auf Gerätesystemebene oder über einen normalen Authentifizierungsfluss bei seinem TV Provider-Konto angemeldet, aber die TTL des TV Provider-Authentifizierungstokens des Benutzers wurde übergeben.
    • Der Benutzer ist auf Gerätesystemebene oder über einen regelmäßigen Authentifizierungsfluss bei seinem TV-Provider-Konto angemeldet, aber die Integration des TV-Anbieters des Benutzers mit der Anwendung ist über das Adobe Primetime TVE-Dashboard deaktiviert.
    • Der Benutzer ist auf Geräteebene bei seinem TV-Provider-Konto angemeldet, aber die Single-Sign-On-Funktion des TV-Anbieters des Benutzers mit der Anwendung ist über das Adobe Primetime TVE-Dashboard deaktiviert.
    • Der Benutzer ist auf Geräteebene beim TV-Provider-Konto angemeldet, aber die TV-Provider-Berechtigung des Benutzers für die Anwendung wird verweigert.
    • Der Benutzer ist auf Gerätesystemebene bei seinem TV-Provider-Konto angemeldet, aber die TV Provider-Berechtigung des Benutzers für die Anwendung wird nicht festgelegt.
    • Der Benutzer ist auf Geräteebene beim TV-Provider-Konto angemeldet, bei der Kommunikation zwischen dem AccessEnabler iOS/tvOS SDK und dem Video Subscriber Account Framework ist jedoch ein Fehler aufgetreten.

    Wichtig: Dieser dritte Schritt wird den Trigger setAuthenticationStatus Callback mit status gleich 1, in dem Fall alle oben genannten Werte sind falsch.

  4. Der Antrag müsste Authentifizierung initialisieren falls die vorherige Prüfung des Authentifizierungsstatus die setAuthenticationStatus Callback mit status gleich 0.

    Pro Tipp: Implementieren Sie eine der folgenden AccessEnabler iOS/tvOS SDK-API getAuthentication oder getAuthentication:filter.

    Wichtig: Dieser vierte Schritt könnte Trigger eines erweiterter Fehlercode die für den Apple SSO-Workflow spezifisch ist, falls eines der folgenden Ereignisse wahr ist:

    • VSA403 - Die Berechtigung TV Provider des Benutzers für die Anwendung wird verweigert.
    • VSA404 - Die Berechtigung TV Provider des Benutzers für die Anwendung wird nicht festgelegt.
    • VSA 503 - Bei der Kommunikation zwischen dem AccessEnabler iOS/tvOS SDK und dem Video Subscriber Account Framework ist ein Fehler aufgetreten.
    • N003 - Der Benutzer hat in der Apple MVPD-Auswahl die Option "Andere TV-Anbieter"ausgewählt.
    • N004 - Der Benutzer hat einen Fernsehanbieter aus der Apple MVPD-Auswahl ausgewählt, der vom aktuellen Anfragenden nicht unterstützt wird (Integration oder Single-Sign-On ist deaktiviert).
    • N005 - Der Benutzer hat beschlossen, den regulären MVPD-Picker oder die Apple-MVPD-Auswahl abzubrechen.

    Wichtig: Dieser vierte Schritt würde zum normalen Authentifizierungsfluss zurückfallen, indem der displayProviderDialog Callback und one der oben genannten erweiterte Fehlercodes, falls einer der oben genannten ist wahr.

    Wichtig: Dieser vierte Schritt würde zum normalen Authentifizierungsfluss zurückfallen, indem der navigateToUrl oder navigateToUrl:useSVC Callback und Keine der oben genannten erweiterte Fehlercodes, falls der Benutzer einen TV-Anbieter ausgewählt hat, der Apple SSO nicht unterstützt, aber in der Apple-MVPD-Auswahl vorhanden ist.

    Pro Tipp: Das AccessEnabler iOS/tvOS-SDK ruft die setSelectedProvider API, falls der Benutzer einen TV-Anbieter ausgewählt hat, der die Apple SSO nicht unterstützt, aber in der Apple-MVPD-Auswahl vorhanden ist.

    Wichtig: In diesem vierten Schritt wird versucht, das Apple SSO-Profil still gegen ein Adobe-Authentifizierungstoken zu tauschen, falls alle oben genannten Werte falsch sind und alle folgenden Punkte sind wahr:

    • Die TV Provider-Berechtigung des Benutzers wird für die Anwendung gewährt.
    • Der Benutzer ist angemeldet/meldet sich derzeit beim TV Provider-Konto auf Gerätesystemebene an.
    • Das AccessEnabler iOS/tvOS-SDK hat die TV-Provider-Kennung des Benutzers aus dem Framework für Video-Abonnentenkonten erhalten.
    • Die Integration des TV-Anbieters des Benutzers mit der Anwendung wird über das Adobe Primetime TVE Dashboard aktiviert.
    • Das Single-Sign-On des TV-Anbieters des Benutzers mit der Anwendung wird über das Adobe Primetime TVE-Dashboard aktiviert.
    • Der Fernsehanbieter des Benutzers wird nicht über das Adobe Primetime TVE-Dashboard beschädigt.
    • Das AccessEnabler iOS/tvOS SDK hat die SAML-Antwort des Fernsehanbieters des Benutzers vom Framework für Videoponnentenkonten erhalten.

Pro Tipp: Dieser vierte Schritt wird den Trigger setAuthenticationStatus Rückruf, unabhängig von status Ergebnis, da die Authentifizierung explizit von der Anwendung initiiert wurde.

Metadaten Metadata

Die Anwendung kann mithilfe der Funktion ""bestimmen, ob die Authentifizierung infolge einer Anmeldung über die Plattform-SSO erfolgte oder nicht.tokenSource" Benutzermetadaten API vom AccessEnabler iOS/tvOS SDK.

    ...
    accessEnabler.getMetadata([METADATA_OPCODE_KEY:Int(METADATA_USER_META), METADATA_USER_META_KEY: "tokenSource"])
    ...

Abmelden Logout

Die Video-Abonnentenkonto Framework stellt keine API zum programmatischen Abmelden von Personen bereit, die sich auf Gerätesystemebene bei ihrem TV-Anbieterkonto angemeldet haben. Damit die Abmeldung vollständig wirksam wird, muss sich der Endbenutzer daher explizit von abmelden Settings -> TV Provider auf iOS/iPadOS oder Settings -> Accounts -> TV Provider auf tvOS. Die andere Option, die der Benutzer haben würde, besteht darin, die Berechtigung zum Zugriff auf die Abonnementinformationen des Benutzers aus dem Abschnitt für die spezifischen Anwendungseinstellungen (Zugriffsberechtigungen des TV-Anbieters) zu entziehen.

TIP
Tipp: Implementieren Sie dies über AccessEnabler iOS/tvOS SDK Abmelden API.
TIP
Pro Tipp: Führen Sie die folgenden Schritte für die tvOS-Implementierung/-Implementierungen aus.
  • Der Antrag müsste Logout starten vom AccessEnabler iOS/tvOS SDK. Dies würde die Sitzungsbereinigung auf der MVPD-Seite nicht erleichtern.
  • Die Anwendung muss den Benutzer anweisen/auffordern, sich explizit von abzumelden Settings -> Accounts -> TV Provider nur bei tvOS VSA203 Statuscode wird ausgelöst.
TIP
Pro Tipp: Führen Sie die folgenden Schritte für die iOS/iPadOS-Implementierung aus.
  • Der Antrag müsste Logout starten vom AccessEnabler iOS/tvOS SDK. Dies würde die Sitzungsbereinigung auf der MVPD-Seite erleichtern.
  • Die Anwendung muss den Benutzer anweisen/auffordern, sich explizit von abzumelden Settings -> TV Provider nur auf iOS/iPadOS VSA203 Statuscode wird ausgelöst.
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b