(レガシー) Apple SSO クックブック (iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk
Adobe Pass Authentication AccessEnabler iOS/tvOS SDKは、iOS、iPadOS、またはtvOSで動作するクライアントアプリケーションのエンドユーザー向けのパートナーシングルサインオン(SSO)をサポートしています。
このドキュメントは、既存のAccessEnabler iOS/tvOS SDK ドキュメントの拡張機能として機能します。このドキュメントは、こちらにあります。
Cookbook apple-sso-cookbook-iostvos-sdk-cookbook
Apple SSO ユーザーエクスペリエンスを活用するには、AccessEnabler iOS/tvOS SDKを統合し、以下に示す一連の手順に従う必要があります。
前提条件 apple-sso-cookbook-iostvos-sdk-prerequisites
権限 apple-sso-cookbook-iostvos-sdk-permission
Settings -> TV ProviderまたはtvOSのSettings -> Accounts -> 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.
...
}
}
...
コールバック apple-sso-cookbook-iostvos-sdk-callbacks
- presentTVProviderDialog - Apple MVPD ピッカーが開くときにコールバックがトリガーされます。
- dismissTVProviderDialog - Apple MVPD ピッカーが閉じるときにコールバックがトリガーされます。
エラー報告 apple-sso-cookbook-iostvos-sdk-error-reporting
- N003 - Apple MVPD ピッカーから「その他のTV プロバイダー」オプションを選択しました。
- N004 - Apple MVPD ピッカーからTV プロバイダーを選択しましたが、現在の依頼者はサポートしていません(統合またはシングルサインオンが無効)。
- N005 – 通常のMVPD ピッカーまたはApple MVPD ピッカーの解約を決定しました。
- VSA403 - ユーザーのTV プロバイダー権限がアプリケーションに対して拒否されました。
- VSA404 - ユーザーのTV プロバイダー権限がアプリケーションに対して決定されていません。
- VSA503 - ビデオ購読者アカウントのメタデータ要求が失敗しました。詳細については、メッセージ フィールドを参照してください。
- AAPL / APPL_ERROR - ビデオ購読者アカウントのメタデータ要求が失敗しました。詳細については、詳細 フィールドを参照してください。
認証 apple-sso-cookbook-iostvos-sdk-authentication
-
AccessEnabler iOS/tvOS SDKを初期化する必要があります。
-
アプリケーションは、現在の依頼者識別子🔗を設定する必要があります。
重要:この2番目の手順では、Apple SSO ワークフローに固有の高度なエラーコード をトリガーする可能性があります。次のいずれか がtrue の場合です。
- VSA403 - ユーザーのTV プロバイダー権限がアプリケーションに対して拒否されました。
- VSA404 - ユーザーのTV プロバイダー権限がアプリケーションに対して決定されていません。
- APPL - AccessEnabler iOS/tvOS SDKとビデオ サブスクライバーのアカウント フレームワーク間の通信でエラーが発生しました。
この2番目の手順では、上記の すべてがfalse で、すべてがtrueの場合、Apple SSO プロファイルをAdobe認証トークンとサイレントに交換しようとします。
- ユーザーのTV プロバイダー権限がアプリケーションに付与されます。
- ユーザーは、デバイスシステムレベルでTV プロバイダーアカウントにログインしています。
- AccessEnabler iOS/tvOS SDKは、ビデオ加入者アカウントフレームワークからユーザーのTV プロバイダーIDを受け取りました。
- ユーザーのTV プロバイダーとアプリケーションの統合は、Adobe Primetime TVE ダッシュボードを通じて有効になります。
- アプリケーションを使用したユーザーのTV プロバイダーシングルサインオンは、Adobe Primetime TVE ダッシュボードを通じて有効になります。
- ユーザーのTV プロバイダーは、Adobe Primetime TVE ダッシュボードを通じて劣化しません。
- AccessEnabler iOS/tvOS SDKは、ビデオ加入者アカウントフレームワークからユーザーのTV プロバイダーのSAML応答を受け取りました。
Pro ヒント:この2番目の手順では、アプリケーションによってトリガーが明示的に開始されていないため、setRequestorComplete コールバック以外のコールバックは認証されません。
-
アプリケーションでは、認証ステータスを確認する必要があります。
重要:この3番目の手順では、Apple SSO ワークフローに固有の詳細エラーコード がトリガーされる可能性があります。次のいずれか がtrue の場合です。
- *VSA403 - ユーザーは次の場所でTV プロバイダーアカウントにサインインしています
デバイスシステムレベルですが、ユーザーのTV プロバイダー権限は
アプリケーションに対して拒否されました。 - *VSA404 - ユーザーは次の場所でTV プロバイダーアカウントにサインインしています
デバイスのシステムレベルではなく、ユーザーのTV プロバイダー権限
アプリケーションに対して未決定です。 - *APPL_ERROR - ユーザーはTV プロバイダーにサインインしています
アカウントはデバイスシステムレベルで使用されますが、アプリ内の
accessEnabler iOS/tvOS SDKおよびビデオ購読者アカウント
フレームワークでエラーが発生しました。
重要:この3番目の手順では、setAuthenticationStatus コールバックを status が0に等しい状態でトリガーします。次の のいずれかがtrue の場合です。
- ユーザーは、デバイスシステムレベルまたは通常の認証フローを通じて、TV プロバイダーアカウントにログインしていません。
- ユーザーは、デバイスシステムレベルまたは通常の認証フローを通じてTV プロバイダーのアカウントにログインしていますが、ユーザーのTV プロバイダー認証トークン TTLは合格しています。
- ユーザーは、デバイスシステムレベルまたは通常の認証フローを通じてTV プロバイダーアカウントにログインしていますが、Adobe Primetime TVE ダッシュボードを使用して、ユーザーのTV プロバイダーとアプリケーションとの統合は無効になっています。
- ユーザーはデバイスシステムレベルでTV プロバイダーアカウントにログインしていますが、アプリケーションを使用したユーザーのTV プロバイダーシングルサインオンは、Adobe Primetime TVE ダッシュボードを使用して無効になっています。
- ユーザーはデバイスシステムレベルでTV プロバイダーアカウントにログインしていますが、ユーザーのTV プロバイダー権限はアプリケーションに対して拒否されます。
- ユーザーはデバイスシステムレベルでTV プロバイダーアカウントにログインしていますが、ユーザーのTV プロバイダー権限はアプリケーションに対して決定されていません。
- ユーザーはデバイスシステムレベルでTV プロバイダーアカウントにログインしていますが、AccessEnabler iOS/tvOS SDKとビデオ加入者アカウントフレームワークの間でエラーが発生しました。
重要:この3番目の手順では、setAuthenticationStatus コールバックを status が1に等しい状態でトリガーします。上記のすべてがfalseの場合です。
- *VSA403 - ユーザーは次の場所でTV プロバイダーアカウントにサインインしています
-
以前の認証ステータス確認でsetAuthenticationStatus コールバックがトリガーされ、statusが0に等しい場合、アプリケーションは認証を初期化する必要があります。
Pro ヒント:次のいずれかのAccessEnabler iOS/tvOS SDK API getAuthenticationまたはgetAuthentication:filterを実装します。
重要:この4つ目の手順では、Apple SSO ワークフローに固有の高度なエラーコード をトリガーする可能性があります。次の のいずれかがtrue の場合です。
- VSA403 - ユーザーのTV プロバイダー権限がアプリケーションに対して拒否されました。
- VSA404 - ユーザーのTV プロバイダー権限がアプリケーションに対して決定されていません。
- VSA503 - AccessEnabler iOS/tvOS SDKとビデオ サブスクライバーのアカウント フレームワーク間の通信でエラーが発生しました。
- N003 - Apple MVPD ピッカーから「その他のTV プロバイダー」オプションを選択しました。
- N004 - Apple MVPD ピッカーからTV プロバイダーを選択しましたが、現在の依頼者はサポートしていません(統合またはシングルサインオンが無効)。
- N005 – 通常のMVPD ピッカーまたはApple MVPD ピッカーの解約を決定しました。
重要:この4番目のステップは、上記の高度なエラーコード のうちdisplayProviderDialog コールバックと one をトリガーすることで、通常の認証フローにフォールバックします。上記のいずれかが true の場合です。
重要:この4番目のステップは、上記の高度なエラーコード のnavigateToUrlまたはnavigateToUrl:useSVC コールバックと none をトリガーすることで、通常の認証フローにフォールバックします。これは、ユーザーがApple SSOをサポートしていないが、Apple MVPD ピッカーに存在するTV プロバイダーを選択した場合です。
Pro ヒント: AccessEnabler iOS/tvOS SDKは、ユーザーがApple SSOをサポートしていないがApple MVPD ピッカーに存在するTV プロバイダーを選択した場合、setSelectedProvider APIをサイレントに呼び出します。
重要:この4番目の手順では、上記の すべてがfalse で、次のすべてがtrue である場合に、Apple SSO プロファイルをAdobe認証トークンとサイレントに交換しようとします。
- ユーザーのTV プロバイダー権限がアプリケーションに付与されます。
- ユーザーは、デバイスシステムレベルでTV プロバイダーアカウントにサインインしています/現在ログインしています。
- AccessEnabler iOS/tvOS SDKは、ビデオ加入者アカウントフレームワークからユーザーのTV プロバイダーIDを受け取りました。
- ユーザーのTV プロバイダーとアプリケーションの統合は、Adobe Primetime TVE ダッシュボードを通じて有効になります。
- アプリケーションを使用したユーザーのTV プロバイダーシングルサインオンは、Adobe Primetime TVE ダッシュボードを通じて有効になります。
- ユーザーのTV プロバイダーは、Adobe Primetime TVE ダッシュボードを通じて劣化しません。
- AccessEnabler iOS/tvOS SDKは、ビデオ加入者アカウントフレームワークからユーザーのTV プロバイダーのSAML応答を受け取りました。
Pro ヒント:この4番目のステップでは、アプリケーションによって明示的にトリガーが開始されたため、statusの結果に関係なく、setAuthenticationStatusのコールバックが認証されます。
メタデータ apple-sso-cookbook-iostvos-sdk-metadata
AccessEnabler iOS/tvOS SDKの「tokenSource」 ユーザーメタデータ APIを使用して、パートナーSSOによるログインの結果として認証が行われたかどうかを判断するオプションがあります。
...
accessEnabler.getMetadata([METADATA_OPCODE_KEY:Int(METADATA_USER_META), METADATA_USER_META_KEY: "tokenSource"])
...
ログアウト apple-sso-cookbook-iostvos-sdk-logout
Video Subscriber Account Frameworkでは、デバイス システム レベルでテレビ プロバイダーのアカウントにサインインしたユーザーをプログラムでログアウトするためのAPIが提供されていません。 したがって、ログアウトを完全に有効にするには、iOS/iPadOSの Settings -> TV Provider から明示的にログアウトするか、tvOSの Settings -> Accounts -> TV Provider から明示的にログアウトする必要があります。 ユーザーが持つもう1つのオプションは、特定のアプリケーション設定セクションからユーザーの購読情報にアクセスする権限を取り消すことです(テレビプロバイダーの権限アクセス)。
- AccessEnabler iOS/tvOS SDKから ログアウトを開始する必要があります。 これは、MVPD側のセッションのクリーンアップを容易にするものではありません。
- VSA203のステータスコードがトリガーされた場合にのみ、アプリケーションは、tvOSで
Settings -> Accounts -> TV Providerから明示的にログアウトするようにユーザーに指示または指示する必要があります。
- AccessEnabler iOS/tvOS SDKから ログアウトを開始する必要があります。 これにより、MVPD側のセッションのクリーンアップが容易になります。
- VSA203のステータスコードがトリガーされた場合にのみ、iOS/iPadOSの
Settings -> TV Providerから明示的にログアウトするようにユーザーに指示または指示する必要があります。