(Legacy) Apple SSO-Cookbook (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk
Der Adobe Pass Authentication AccessEnabler iOS/tvOS SDK unterstützt das Partner Single Sign-On (SSO) für Endbenutzer von Client-Anwendungen, die auf iOS, iPadOS oder tvOS ausgeführt werden.
Dieses Dokument dient als Erweiterung der bestehenden Dokumentation zu AccessEnabler iOS/tvOS SDK, die Sie ().
Cookbook apple-sso-cookbook-iostvos-sdk-cookbook
Um von dem Apple SSO-Benutzererlebnis zu profitieren, muss die Anwendung den AccessEnabler iOS/tvOS SDK integrieren und die unten beschriebenen Schritte befolgen.
Voraussetzungen apple-sso-cookbook-iostvos-sdk-prerequisites
Erlaubnis apple-sso-cookbook-iostvos-sdk-permission
Settings -> Accounts -> TV Provider
auf tvOS Settings -> TV Provider
. ...
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.
...
}
}
...
Callbacks apple-sso-cookbook-iostvos-sdk-callbacks
- presentTVProviderDialog - Rückruf, der ausgelöst wird, wenn die Apple MVPD-Auswahl geöffnet wird.
- dismissTVProviderDialog - Rückruf, der ausgelöst wird, wenn die Apple MVPD-Auswahl geschlossen wird.
Fehlerberichterstattung apple-sso-cookbook-iostvos-sdk-error-reporting
- N003 - Der Benutzer hat die Option „Andere TV-Anbieter“ in der Apple MVPD-Auswahl ausgewählt.
- N004 - Der Benutzer hat in der Apple MVPD-Auswahl einen TV-Anbieter ausgewählt, der vom aktuellen Anforderer nicht unterstützt wird (Integration oder Single Sign-On deaktiviert).
- N005 - Der Benutzer hat entschieden, die reguläre MVPD- oder Apple MVPD-Auswahl abzubrechen.
- VSA403 - Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung wird verweigert.
- VSA404 - Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung ist unbestimmt.
- VSA503 - Die Metadatenanfrage für das Videoabonnentenkonto ist fehlgeschlagen. Im Feld Nachricht wird mehr Kontext bereitgestellt.
- AAPL / APPL_ERROR - Die Metadatenanfrage für das Videoabonnentenkonto ist fehlgeschlagen. Weitere Kontextinformationen finden im.
Authentifizierung apple-sso-cookbook-iostvos-sdk-authentication
-
Die Anwendung müsste AccessEnabler iOS/tvOS SDK initialisieren.
-
Die Anwendung müsste die aktuelle Anfordererkennung festlegen.
Wichtig: In diesem zweiten Schritt kann ein Trigger erweiterter Fehlercode auftreten, der spezifisch für den Apple SSO-Workflow ist, falls einer der folgenden Punkte zutrifft:
- VSA403 - Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung wird verweigert.
- VSA404 - Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung ist unbestimmt.
- APPL - Bei der Kommunikation zwischen dem AccessEnabler iOS/tvOS SDK und dem Videoabonnentenkonto-Framework ist ein Fehler aufgetreten.
In diesem zweiten Schritt wird versucht, das Apple SSO-Profil im Hintergrund gegen ein Adobe-Authentifizierungstoken einzutauschen, falls alle oben genannten Werte sind und alle folgenden Werte zutreffen:
- Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung wird gewährt.
- Der Benutzer ist auf der Systemebene des Geräts bei seinem TV-Anbieterkonto angemeldet.
- AccessEnabler iOS/tvOS SDK hat die TV Provider-Kennung des Benutzers aus dem Video-Abonnementkonto-Framework 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 TV-Anbieter des Benutzers wird nicht über das Adobe Primetime TVE-Dashboard beeinträchtigt.
- AccessEnabler iOS/tvOS SDK erhielt vom Videoabonnentenkonto-Framework eine SAML-Antwort des TV-Anbieters des Benutzers.
Profi-Tipp: In diesem zweiten Schritt werden außer dem Callback setRequestorComplete keine weiteren Callbacks Trigger, da die Authentifizierung nicht explizit von der Anwendung initiiert wurde.
-
Die Anwendung müsste den Authentifizierungsstatus überprüfen.
Wichtig: Dieser dritte Schritt kann einen Trigger erweiterten Fehlercode enthalten, der spezifisch für den Apple SSO-Workflow ist, falls einer der folgenden Punkte zutrifft:
- *VSA403 - Der Benutzer ist bei seinem TV-Provider-Konto angemeldet unter
auf der Systemebene des Geräts, aber mit der Berechtigung des TV-Anbieters des Benutzers
Für die Anwendung verweigert. - *VSA404 - Der Benutzer ist bei seinem TV-Provider-Konto angemeldet unter
auf der Systemebene des Geräts, aber mit der Berechtigung des TV-Anbieters des Benutzers
ist für die Anwendung unbestimmt. - *APPL_ERROR - Der Benutzer ist bei seinem TV-Anbieter angemeldet
Konto auf der Geräte-Systemebene, aber die Kommunikation zwischen
AccessEnabler iOS/tvOS SDK und das Videoabonnentenkonto
Beim Framework ist ein Fehler aufgetreten.
Wichtig: Dieser dritte Schritt führt zu einem Trigger des setAuthenticationStatus-Callbacks mit status gleich 0, falls einer der folgenden Werte zutrifft:
- Der Benutzer ist nicht auf der Systemebene des Geräts oder über einen regulären Authentifizierungsfluss bei seinem TV-Anbieter-Konto angemeldet.
- Der Benutzer wird auf der Systemebene des Geräts oder über einen regulären Authentifizierungsfluss bei seinem TV-Anbieter-Konto angemeldet, aber die TTL des TV-Anbieter-Authentifizierungstokens des Benutzers wurde bestanden.
- Die Benutzerin bzw. der Benutzer wird auf Systemebene des Geräts oder über einen regulären Authentifizierungsfluss bei ihrem TV-Anbieter-Konto angemeldet. Die TV-Anbieter-Integration der Benutzerin bzw. des Benutzers in die Anwendung wird jedoch über das Adobe Primetime TVE-Dashboard deaktiviert.
- Die Benutzerin bzw. der Benutzer wird auf Systemebene des Geräts bei ihrem TV-Anbieterkonto angemeldet, aber das einmalige Anmelden der Benutzerin bzw. des TV-Anbieters mit der Anwendung wird über das Adobe Primetime TVE-Dashboard deaktiviert.
- Der Benutzer wird auf Systemebene des Geräts bei seinem TV-Anbieter-Konto angemeldet, aber die TV-Anbieter-Berechtigung des Benutzers wird für die Anwendung verweigert.
- Der Benutzer ist auf der Systemebene des Geräts bei seinem TV-Anbieter-Konto angemeldet, aber die Berechtigung des Benutzers für den TV-Anbieter für die Anwendung ist unbestimmt.
- Der Benutzer ist auf der Systemebene des Geräts bei seinem TV-Anbieterkonto angemeldet, aber bei der Kommunikation zwischen dem AccessEnabler iOS/tvOS SDK und dem Video-Teilnehmerkonto-Framework ist ein Fehler aufgetreten.
Wichtig: Dieser dritte Schritt führt zu einem Trigger des setAuthenticationStatus-Callbacks mit status gleich 1, falls alle oben genannten Werte „false“ sind.
- *VSA403 - Der Benutzer ist bei seinem TV-Provider-Konto angemeldet unter
-
Die Anwendung müsste die Authentifizierung initialisieren falls die vorherige Prüfung des Authentifizierungsstatus den setAuthenticationStatus-Rückruf mit status gleich 0 ausgelöst hat.
Profi-Tipp: Implementieren Sie eine der folgenden AccessEnabler iOS/tvOS SDK API getAuthentication oder getAuthentication:filter.
Wichtig: Dieser vierte Schritt kann einen Trigger erweiterten Fehlercode enthalten, der spezifisch für den Apple SSO-Workflow ist, falls einer der folgenden Punkte zutrifft:
- VSA403 - Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung wird verweigert.
- VSA404 - Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung ist unbestimmt.
- VSA503 - Bei der Kommunikation zwischen dem AccessEnabler iOS/tvOS SDK und dem Videoabonnentenkonto-Framework ist ein Fehler aufgetreten.
- N003 - Der Benutzer hat die Option „Andere TV-Anbieter“ in der Apple MVPD-Auswahl ausgewählt.
- N004 - Der Benutzer hat in der Apple MVPD-Auswahl einen TV-Anbieter ausgewählt, der vom aktuellen Anforderer nicht unterstützt wird (Integration oder Single Sign-On deaktiviert).
- N005 - Der Benutzer hat entschieden, die reguläre MVPD- oder Apple MVPD-Auswahl abzubrechen.
Wichtig: Dieser vierte Schritt würde auf den regulären Authentifizierungsfluss zurückgreifen, indem der displayProviderDialog-Rückruf und einer der oben erweiterten Fehler-Codes ausgelöst werden, falls einer der oben genannten wahr ist.
Wichtig: Dieser vierte Schritt würde auf den regulären Authentifizierungsfluss zurückgreifen, indem der navigateToUrl- oder navigateToUrl:useSVC-Rückruf und none der erweiterten Fehlercodes ausgelöst wird, falls der Benutzer einen TV-Anbieter ausgewählt hat, der Apple SSO nicht unterstützt, aber in der Apple MVPD-Auswahl vorhanden ist.
Profi-Tipp: Die AccessEnabler iOS/tvOS SDK ruft die API setSelectedProvider im Hintergrund auf, falls der Benutzer einen TV-Anbieter ausgewählt hat, der Apple SSO nicht unterstützt, aber in der Apple MVPD-Auswahl vorhanden ist.
Wichtig: Dieser vierte Schritt würde versuchen, das Apple-SSO-Profil im Hintergrund gegen ein Adobe-Authentifizierungstoken einzutauschen, falls alle oben genannten Punkte falsch sind und alle folgenden Punkte zutreffen:
- Die Berechtigung des TV-Anbieters des Benutzers für die Anwendung wird gewährt.
- Der Benutzer ist auf der Systemebene des Geräts bei seinem TV-Anbieterkonto angemeldet bzw. meldet sich derzeit an.
- AccessEnabler iOS/tvOS SDK hat die TV Provider-Kennung des Benutzers aus dem Video-Abonnementkonto-Framework 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 TV-Anbieter des Benutzers wird nicht über das Adobe Primetime TVE-Dashboard beeinträchtigt.
- AccessEnabler iOS/tvOS SDK erhielt vom Videoabonnentenkonto-Framework eine SAML-Antwort des TV-Anbieters des Benutzers.
Profi-Tipp: Dieser vierte Schritt führt unabhängig vom Ergebnis des statusStatus zu einem Trigger, die Authentifizierung explizit von der Anwendung initiiert wurde.
Metadaten apple-sso-cookbook-iostvos-sdk-metadata
Die Anwendung hat die Möglichkeit, mithilfe der API "tokenSource“ (Benutzermetadaten) aus der AccessEnabler iOS SDK/tvOS- zu ermitteln, ob die Authentifizierung als Ergebnis Anmeldung überPartner-SSO erfolgt ist oder nicht.
...
accessEnabler.getMetadata([METADATA_OPCODE_KEY:Int(METADATA_USER_META), METADATA_USER_META_KEY: "tokenSource"])
...
Abmelden apple-sso-cookbook-iostvos-sdk-logout
Das Video Subscriber Account Framework stellt keine API zum programmgesteuerten Abmelden von Personen bereit, die sich auf Gerätesystemebene bei ihrem TV Provider-Konto angemeldet haben. Damit die Abmeldung ihre volle Wirkung entfalten kann, muss sich der Endbenutzer daher explizit von Settings -> TV Provider
auf iOS/iPadOS oder Settings -> Accounts -> TV Provider
auf tvOS abmelden. Die andere Option, die der Benutzer haben könnte, besteht darin, dem Benutzer die Berechtigung zum Zugriff auf die Abonnementinformationen des Benutzers im Abschnitt mit den spezifischen Anwendungseinstellungen zu entziehen (Zugriff auf TV Provider-Berechtigungen).
- Die Anwendung müsste Abmelden)AccessEnabler iOS/tvOS SDK starten. Dies würde die Sitzungsbereinigung auf MVPD-Seite nicht erleichtern.
- Die Anwendung muss den Benutzer anweisen/auffordern, sich nur im Falle eines Auslösens des Status-Codes VSA203 explizit von
Settings -> Accounts -> TV Provider
auf tvOS abzumelden.
- Die Anwendung müsste Abmelden)AccessEnabler iOS/tvOS SDK starten. Dies würde die Sitzungsbereinigung auf MVPD-Seite erleichtern.
- Die Anwendung müsste den Benutzer nur dann anweisen/auffordern, sich explizit von
Settings -> TV Provider
auf iOS/iPadOS abzumelden, wenn der VSA203-Statuscode ausgelöst wird.