Apple SSO Cookbook(iOS/tvOS SDK) apple-sso-cookbook-iostvos-sdk
Adobe Pass Authentication AccessEnabler iOS/tvOS SDK는 iOS, iPadOS 또는 tvOS에서 실행되는 클라이언트 애플리케이션의 최종 사용자를 위한 Partner SSO(Single Sign-On)를 지원합니다.
이 문서는 여기에서 찾을 수 있는 기존 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 선택기에서 현재 요청자가 지원하지 않는(통합 또는 Single Sign-On 사용 안 함) TV 공급자를 선택했습니다.
- N005 - 사용자가 일반 MVPD 선택기 또는 Apple MVPD 선택기를 취소하기로 했습니다.
- VSA403 - 응용 프로그램에 대한 사용자의 TV 공급자 권한이 거부되었습니다.
- VSA404 - 응용 프로그램에 대한 사용자의 TV 공급자 권한이 확인되지 않았습니다.
- VSA503 - 비디오 구독자 계정 메타데이터 요청이 실패했습니다. 메시지 필드에 추가 컨텍스트가 제공됩니다.
- AAPL / APPL_ERROR - 비디오 구독자 계정 메타데이터 요청이 실패했습니다. 자세한 컨텍스트는 세부 정보 필드에 제공됩니다.
인증 apple-sso-cookbook-iostvos-sdk-authentication
-
응용 프로그램은 AccessEnabler iOS/tvOS SDK를 초기화해야 합니다.
-
응용 프로그램은 현재 요청자 식별자를 설정해야 합니다.
중요: 이 두 번째 단계에서는 다음 중 하나가 참인 경우 에 Apple SSO 워크플로에 해당하는 고급 오류 코드을 트리거할 수 있습니다.
- VSA403 - 응용 프로그램에 대한 사용자의 TV 공급자 권한이 거부되었습니다.
- VSA404 - 응용 프로그램에 대한 사용자의 TV 공급자 권한이 확인되지 않았습니다.
- APPL - AccessEnabler iOS/tvOS SDK와 비디오 구독자 계정 프레임워크 간의 통신에 오류가 발생했습니다.
이 두 번째 단계에서는 위의 모든 내용이 false인 경우 Apple SSO 프로필을 Adobe 인증 토큰으로 자동 교환하려고 합니다. 다음 내용이 모두 true인 경우:
- 애플리케이션에 대한 사용자의 TV 공급자 권한이 부여됩니다.
- 사용자가 장치 시스템 수준에서 TV 공급자 계정에 로그인합니다.
- AccessEnabler iOS/tvOS SDK가 비디오 구독자 계정 프레임워크에서 사용자의 TV 공급자 식별자를 수신했습니다.
- 사용자의 TV Provider와 애플리케이션의 통합은 Adobe Primetime TVE Dashboard를 통해 활성화됩니다.
- 사용자의 TV Provider Single Sign-On with Application은 Adobe Primetime TVE Dashboard를 통해 활성화됩니다.
- Adobe Primetime TVE Dashboard를 통해 사용자의 TV Provider가 성능이 저하되지 않습니다.
- AccessEnabler iOS/tvOS SDK가 비디오 구독자 계정 프레임워크에서 사용자의 TV 공급자 SAML 응답을 수신했습니다.
Pro 팁: 응용 프로그램에서 인증을 명시적으로 시작하지 않았으므로 이 두 번째 단계에서는 setRequestorComplete 콜백 외에 다른 콜백을 트리거하지 않습니다.
-
응용 프로그램에서 인증 상태를 확인해야 합니다.
중요: 이 세 번째 단계는 다음 중 하나가 참인 경우 에 Apple SSO 워크플로에 해당하는 고급 오류 코드을 트리거할 수 있습니다.
- *VSA403 - 사용자가 다음 TV 공급자 계정에 로그인했습니다.
장치 시스템 수준이지만 사용자의 TV 공급자 권한은 입니다.
애플리케이션에 대해 거부되었습니다. - *VSA404 - 사용자가 다음 TV 공급자 계정에 로그인했습니다.
장치 시스템 수준이지만 사용자의 TV 공급자 권한은
은(는) 애플리케이션에 대해 결정되지 않습니다. - *APPL_ERROR - 사용자가 해당 TV 공급자에 로그인했습니다.
장치 시스템 수준에서 계정을 만들었지만
AccessEnabler iOS/tvOS SDK 및 비디오 구독자 계정
프레임워크에서 오류가 발생했습니다.
중요: 이 세 번째 단계는 다음 중 하나가 참인 경우 에 상태 가 0인 setAuthenticationStatus 콜백을 트리거합니다.
- 사용자는 장치 시스템 수준에서 또는 일반 인증 흐름을 통해 TV 공급자 계정에 로그인되지 않습니다.
- 사용자는 장치 시스템 수준에서 또는 일반 인증 플로우를 통해 TV 공급자 계정에 로그인하지만 사용자의 TV 공급자 인증 토큰 TTL이 통과했습니다.
- 사용자는 장치 시스템 수준에서 또는 일반 인증 플로우를 통해 TV 공급자 계정에 로그인하지만 Adobe Primetime TVE Dashboard를 통해 사용자의 TV 공급자 통합 애플리케이션을 사용할 수 없습니다.
- 사용자는 장치 시스템 수준에서 TV 공급자 계정에 로그인하지만 Adobe Primetime TVE Dashboard를 통해 사용자의 TV 공급자 Single Sign-On이 비활성화됩니다.
- 사용자는 장치 시스템 수준에서 TV 공급자 계정에 로그인하지만 사용자의 TV 공급자 권한은 응용 프로그램에 대해 거부됩니다.
- 사용자는 장치 시스템 수준에서 TV 공급자 계정에 로그인하지만 사용자의 TV 공급자 권한은 응용 프로그램에 대해 확인되지 않습니다.
- 사용자가 장치 시스템 수준에서 TV 공급자 계정에 로그인되어 있지만 AccessEnabler iOS/tvOS SDK와 비디오 구독자 계정 프레임워크 간의 통신에 오류가 발생했습니다.
중요: 이 세 번째 단계는 위의 모든 내용이 false인 경우 상태 가 1인 setAuthenticationStatus 콜백을 트리거합니다.
- *VSA403 - 사용자가 다음 TV 공급자 계정에 로그인했습니다.
-
이전 인증 상태 검사에서 status 이(가) 0인 setAuthenticationStatus 콜백이 트리거된 경우 응용 프로그램에서 인증을 초기화해야 합니다.
Pro 팁: 다음 AccessEnabler iOS/tvOS SDK API 중 하나를 구현합니다. getAuthentication 또는 getAuthentication:filter.
중요: 이 네 번째 단계는 다음 중 하나가 참인 경우 에 Apple SSO 워크플로에 해당하는 고급 오류 코드을 트리거할 수 있습니다.
- VSA403 - 응용 프로그램에 대한 사용자의 TV 공급자 권한이 거부되었습니다.
- VSA404 - 응용 프로그램에 대한 사용자의 TV 공급자 권한이 확인되지 않았습니다.
- VSA503 - AccessEnabler iOS/tvOS SDK와 비디오 구독자 계정 프레임워크 간의 통신에 오류가 발생했습니다.
- N003 - 사용자가 Apple MVPD 선택기에서 "기타 TV 공급자" 옵션을 선택했습니다.
- N004 - 사용자가 Apple MVPD 선택기에서 현재 요청자가 지원하지 않는(통합 또는 Single Sign-On 사용 안 함) TV 공급자를 선택했습니다.
- N005 - 사용자가 일반 MVPD 선택기 또는 Apple MVPD 선택기를 취소하기로 했습니다.
중요: 이 네 번째 단계는 displayProviderDialog 콜백과 위의 고급 오류 코드의 one 을(를) 트리거하여 일반 인증 흐름으로 돌아갑니다. 위의 오류 코드 중 하나가 참인 경우.
중요: 사용자가 Apple SSO를 지원하지 않지만 Apple MVPD 선택기에 있는 TV 공급자를 선택한 경우 이 네 번째 단계는 navigateToUrl 또는 navigateToUrl:useSVC 콜백과 위의 고급 오류 코드의 none 을 트리거하여 일반 인증 흐름으로 후퇴합니다.
Pro 팁: 사용자가 Apple SSO를 지원하지 않지만 Apple MVPD 선택기에 있는 TV 공급자를 선택한 경우 AccessEnabler iOS/tvOS SDK는 setSelectedProvider API를 자동으로 호출합니다.
중요: 이 네 번째 단계에서는 Adobe 인증 토큰으로 Apple SSO 프로필을 자동으로 교환하려고 합니다. 위의 모든 내용이 false인 경우 및 다음 내용이 모두 true인 경우:
- 애플리케이션에 대한 사용자의 TV 공급자 권한이 부여됩니다.
- 사용자는 장치 시스템 수준에서 TV 공급자 계정에 로그인되어 있습니다.
- AccessEnabler iOS/tvOS SDK가 비디오 구독자 계정 프레임워크에서 사용자의 TV 공급자 식별자를 수신했습니다.
- 사용자의 TV Provider와 애플리케이션의 통합은 Adobe Primetime TVE Dashboard를 통해 활성화됩니다.
- 사용자의 TV Provider Single Sign-On with Application은 Adobe Primetime TVE Dashboard를 통해 활성화됩니다.
- Adobe Primetime TVE Dashboard를 통해 사용자의 TV Provider가 성능이 저하되지 않습니다.
- AccessEnabler iOS/tvOS SDK가 비디오 구독자 계정 프레임워크에서 사용자의 TV 공급자 SAML 응답을 수신했습니다.
Pro 팁: 응용 프로그램에 의해 인증이 명시적으로 시작되었으므로 이 네 번째 단계에서는 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
비디오 구독자 계정 프레임워크는 장치 시스템 수준에서 TV 공급자 계정에 로그인한 사용자를 프로그래밍 방식으로 로그아웃할 수 있는 API를 제공하지 않습니다. 따라서 로그아웃을 완전히 적용하려면 최종 사용자가 iOS/iPadOS의 Settings -> TV Provider
또는 tvOS의 Settings -> Accounts -> TV Provider
에서 명시적으로 로그아웃해야 합니다. 사용자가 가질 수 있는 다른 옵션은 특정 응용 프로그램 설정 섹션(TV 공급자 권한 액세스)에서 사용자의 구독 정보에 액세스할 수 있는 권한을 철회하는 것입니다.
- 응용 프로그램은 AccessEnabler iOS/tvOS SDK에서 로그아웃을 시작해야 합니다. 이렇게 하면 MVPD 측의 세션 정리가 용이하지 않습니다.
- VSA203 상태 코드가 트리거된 경우에만 tvOS에서
Settings -> Accounts -> TV Provider
에서 명시적으로 로그아웃하도록 응용 프로그램에서 지시하거나 프롬프트를 표시해야 합니다.
- 응용 프로그램은 AccessEnabler iOS/tvOS SDK에서 로그아웃을 시작해야 합니다. 이렇게 하면 MVPD 측의 세션 정리가 용이해집니다.
- VSA203 상태 코드가 트리거된 경우에만 iOS/iPadOS에서
Settings -> TV Provider
에서 명시적으로 로그아웃하도록 응용 프로그램에서 지시하거나 프롬프트를 표시해야 합니다.