Android SDK API 참조 android-sdk-api-reference
소개 intro
이 문서에서는 Adobe Pass 인증 버전 1.7 이상에서 지원되는 Adobe Pass 인증용 Android SDK에서 노출하는 메서드 및 콜백에 대해 자세히 설명합니다. 여기에 설명된 메서드와 콜백 함수는 AccessEnabler.h 및 EntitlementDelegate.h 헤더 파일에 정의되어 있습니다.
최신 Android AccessEnabler SDK는 https://tve.zendesk.com/hc/en-us/articles/204963219-Android-Native-AccessEnabler-Library을(를) 참조하십시오.
참고: Adobe Pass 인증 팀에서는 Adobe Pass 인증 공개 API만 사용할 것을 권장합니다.
- 공용 API는 지원되는 모든 클라이언트 유형에서 사용할 수 있으며 완전히 테스트되었습니다. 공개 기능의 경우 각 클라이언트 유형에 연결된 메서드의 해당 버전이 있는지 확인합니다.
- 공개 API는 이전 버전과의 호환성을 지원하고 파트너 통합이 중단되지 않도록 최대한 안정적이어야 합니다. 그러나 비공개 API의 경우 향후 서명을 변경할 수 있는 권한이 있습니다. 현재 공개 Adobe Pass 인증 API 호출의 조합을 통해 지원되지 않는 특정 흐름이 발생하는 경우 가장 좋은 접근 방법은 알려 주는 것입니다. 귀사의 요구를 고려하여 공개 API를 수정하고 안정적인 솔루션을 제공할 수 있습니다.
ANDROID API api
- getInstance
- setOptions
- setRequestor
- setRequestorComplete
- checkAuthentication
- getAuthentication
- displayProviderDialog
- setSelectedProvider
- navigateToUrl
- getAuthenticationToken
- setAuthenticationStatus
- 사전 승인
- checkAuthorization
- getAuthorization
- setToken
- token요청 실패
- 로그아웃
- getSelectedProvider
- selectedProvider
- getMetadata
- setMetaStatus
- getVersion
Factory.getInstance getInstance
설명: Access Enabler 개체를 인스턴스화합니다. 애플리케이션 인스턴스당 하나의 Access Enabler 인스턴스가 있어야 합니다.
throw AccessEnablerException
public static AccessEnabler getInstance(Context appContext, String env_url, String softwareStatement, String redirectUrl)
throw AccessEnablerException
가용성: v3.1.2+
매개 변수:
- appContext: Android 응용 프로그램 컨텍스트.
- env_url: Adobe 스테이징 환경을 사용하여 테스트하기 위해 env_url을 "sp.auth-staging.adobe.com"으로 설정할 수 있습니다.
사용하지 않음:
public static AccessEnabler getInstance(Context appContext)
throws AccessEnablerException
setRequestor setRequestor
설명: 프로그래머의 ID를 설정합니다. 각 프로그래머는 Adobe Pass 인증 시스템에 대한 Adobe 등록 시 고유 ID가 지정됩니다. SSO 및 원격 토큰을 처리할 때 애플리케이션이 백그라운드에 있을 때 인증 상태가 변경될 수 있으며, 시스템 상태와 동기화하기 위해 애플리케이션이 전경으로 전환될 때 setRequestor를 다시 호출할 수 있습니다(SSO가 활성화된 경우 원격 토큰을 가져오고 그 사이에 로그아웃이 발생한 경우 로컬 토큰을 삭제).
서버 응답에는 프로그래머의 ID에 첨부된 일부 구성 정보와 함께 MVPD 목록이 포함됩니다. 서버 응답은 Access Enabler에서 내부적으로 사용됩니다. 작업의 상태(즉, SUCCESS/FAIL)만 setRequestorComplete() 콜백을 통해 응용 프로그램에 표시됩니다.
url 매개 변수를 사용하지 않으면 결과 네트워크 호출은 기본 서비스 공급자 URL(Adobe 릴리스/프로덕션 환경)을 대상으로 합니다.
url 매개 변수에 대한 값이 제공되면 결과 네트워크 호출은 url 매개 변수에 제공된 모든 URL을 대상으로 합니다. 모든 구성 요청은 별도의 스레드에서 동시에 트리거됩니다. MVPD 목록을 컴파일할 때 첫 번째 응답자가 우선합니다. 목록에 있는 각 MVPD에 대해 Access Enabler는 관련 서비스 공급자의 URL을 기억합니다. 모든 후속 자격 요청은 구성 단계 동안 대상 MVPD와 쌍을 이룬 서비스 공급자와 연결된 URL로 전달됩니다.
public void setRequestor(String requestorId)
가용성: v3.0+
public void setRequestor(String requestorId, ArrayList<String> urls)
가용성: v3.0+
매개 변수:
-
requestorID: 프로그래머와 연결된 고유 ID입니다. Adobe Pass 인증 서비스에 처음 등록할 때 Adobe이 할당한 고유 ID를 사이트에 전달합니다.
-
signedRequestorID: 개인 키로 디지털 서명된 요청자 ID의 사본입니다. .
-
url: 선택적 매개 변수. 기본적으로 Adobe 서비스 공급자가 사용됩니다(http://sp.auth.adobe.com/). 이 배열을 사용하면 Adobe에서 제공하는 인증 및 권한 부여 서비스에 대한 끝점을 지정할 수 있습니다(디버깅 목적으로 다른 인스턴스를 사용할 수 있음). 이 옵션을 사용하여 여러 Adobe Pass 인증 서비스 공급자 인스턴스를 지정할 수 있습니다. 이렇게 하면 MVPD 목록은 모든 서비스 공급자의 끝점으로 구성됩니다. 각 MVPD는 가장 빠른 서비스 공급자, 즉 먼저 응답하고 해당 MVPD를 지원하는 공급자와 연결됩니다.
트리거된 콜백: setRequestorComplete()
사용되지 않음:
공용 void setRequestor(String requestorId, String signedRequestorId)
공용 void setRequestor(String requestorId, String signedRequestorId, ArrayList<String> url)
setRequestorComplete setRequestorComplete
설명: 응용 프로그램에 구성 단계가 완료되었음을 알리는 Access Enabler에 의해 트리거된 콜백입니다. 앱에서 권한 부여 요청 발급을 시작할 수 있다는 신호입니다. 구성 단계가 완료될 때까지 애플리케이션에서 권한 부여 요청을 실행할 수 없습니다.
가용성: v1.0+
매개 변수:
-
상태: 다음 값 중 하나를 사용할 수 있습니다.
-
SDK >= 3.4.0
AccessEnablerConstants.ACCESS_ENABLER_STATUS_SUCCESS
- 구성 단계가 완료되었습니다.AccessEnablerConstants.ACCESS_ENABLER_STATUS_ERROR
- 구성 단계 실패
-
SDK < 3.4
AccessEnabler.ACCESS_ENABLER_STATUS_SUCCESS
- 구성 단계가 완료되었습니다.AccessEnabler.ACCESS_ENABLER_STATUS_ERROR
- 구성 단계 실패
-
트리거 대상: setRequestor()
setOptions setOptions
설명: 에서 전역 SDK 옵션을 구성합니다. Map<String, String> 을(를) 인수로 허용합니다. 맵의 값은 SDK에서 수행하는 모든 네트워크 호출과 함께 서버로 전달됩니다.
값은 현재 흐름(인증/권한 부여)과 관계없이 서버에 전달됩니다. 값을 변경하려면 언제든지 이 메서드를 호출할 수 있습니다.
가용성: v1.9.2+
매개 변수:
-
options: 글로벌 SDK 옵션이 포함된 맵<문자열, 문자열>입니다. 현재 다음 옵션을 사용할 수 있습니다.
- applicationProfile - 이 값을 기반으로 서버 구성을 만드는 데 사용할 수 있습니다.
- ap_vi - Experience Cloud ID(visitorID). 이 값은 나중에 고급 분석 보고서에 사용할 수 있습니다.
- ap_ai - Advertising ID
- device_info - 여기에 설명된 클라이언트 정보: 클라이언트 정보 장치 연결 및 응용 프로그램 통과.
checkAuthentication checkAuthN
설명: 에서 인증 상태를 확인합니다. 로컬 토큰 저장 공간에서 유효한 인증 토큰을 검색하여 이를 수행합니다. 이 메서드는 네트워크 호출을 수행하지 않으며 기본 스레드에서 호출하는 것이 좋습니다. 애플리케이션에서 사용자의 인증 상태를 쿼리하고 그에 따라 UI를 업데이트(즉, 로그인/로그아웃 UI 업데이트)하는 데 사용됩니다. 인증 상태는 setAuthenticationStatus() 콜백을 통해 응용 프로그램에 전달됩니다.
MVPD가 "요청자별 인증" 기능을 지원하는 경우 여러 인증 토큰이 장치에 저장될 수 있습니다. 이 기능에 대한 자세한 내용은 Android 기술 개요에서 캐싱 지침 섹션을 참조하십시오.
가용성: v1.0+
매개 변수: 없음
트리거된 콜백: setAuthenticationStatus()
getAuthentication getAuthN
설명: 전체 인증 워크플로를 시작합니다. 인증 상태를 확인하는 것으로 시작됩니다. 아직 인증되지 않은 경우 인증 흐름 state-machine이 시작됩니다.
- 마지막 인증 시도가 성공하면 MVPD 선택 단계를 건너뛰고 navigateToUrl() 콜백이 트리거됩니다. 응용 프로그램은 이 콜백을 사용하여 사용자에게 MVPD의 로그인 페이지를 제공하는 WebView 컨트롤을 인스턴스화합니다.
- 마지막 인증 시도에 실패했거나 사용자가 명시적으로 로그아웃한 경우 displayProviderDialog() 콜백이 트리거됩니다. 응용 프로그램은 이 콜백을 사용하여 MVPD 선택 UI를 표시합니다. 또한 앱에서 setSelectedProvider() 메서드를 통해 사용자의 MVPD 선택에 대해 Access Enabler 라이브러리에 알려 인증 흐름을 다시 시작해야 합니다.
사용자의 자격 증명이 MVPD 로그인 페이지에서 확인되므로 응용 프로그램은 사용자가 MVPD의 로그인 페이지에서 인증을 받는 동안 발생하는 여러 리디렉션 작업을 모니터링해야 합니다. 올바른 자격 증명을 입력하면 WebView 컨트롤이 AccessEnabler.ADOBEPASS_REDIRECT_URL 상수로 정의된 사용자 지정 URL로 리디렉션됩니다. 이 URL은 WebView에서 로드하기 위한 것이 아닙니다. 애플리케이션은 이 URL을 가로채고 이 이벤트를 로그인 단계가 완료되었음을 나타내는 신호로 해석해야 합니다. 그런 다음 인증 흐름을 완료하려면 getAuthenticationToken() 메서드를 호출하여 Access Enabler에 제어 권한을 전달해야 합니다.
MVPD가 "요청자당 인증" 기능을 지원하는 경우 여러 인증 토큰이 장치에 저장될 수 있습니다(프로그래머당 하나). 이 기능에 대한 자세한 내용은 Android 기술 개요에서 캐싱 지침 섹션을 참조하십시오.
마지막으로 인증 상태는 setAuthenticationStatus() 콜백을 통해 응용 프로그램에 전달됩니다.
가용성: v1.0+
가용성: v1.8+
매개 변수:
- forceAuthn: 사용자가 이미 인증되었는지 여부에 관계없이 인증 흐름을 시작해야 하는지 여부를 지정하는 플래그입니다.
- data: Pay-TV Pass 서비스로 보낼 키-값 쌍으로 구성된 맵입니다. Adobe은 이 데이터를 사용하여 SDK를 변경하지 않고 향후 기능을 활성화할 수 있습니다.
트리거된 콜백: setAuthenticationStatus(), displayProviderDialog(), navigateToUrl(), sendTrackingData()
displayProviderDialog displayProviderDialog
설명 사용자가 원하는 MVPD를 선택할 수 있도록 적절한 UI 요소를 인스턴스화해야 함을 응용 프로그램에 알리기 위해 Access Enabler에 의해 트리거된 콜백입니다. 콜백은 MVPD 개체 목록에 선택 UI 패널을 올바르게 구성하는 데 도움이 되는 추가 정보(예: MVPD의 로고, 친숙한 표시 이름 등을 가리키는 URL)를 제공합니다.
사용자가 원하는 MVPD를 선택한 후에는 setSelectedProvider() 을(를) 호출하고 사용자의 선택에 해당하는 MVPD의 ID를 전달함으로써 인증 흐름을 다시 시작해야 합니다.
사용자가 "뒤로" 단추를 누를 수 있는 지점이며, 이는 인증 흐름을 중단하는 것과 같습니다. 이러한 경우 응용 프로그램에서
setSelectedProvider()
메서드를 호출하여 null 을 매개 변수로 전달하여 Access Enabler에 인증 상태 컴퓨터를 다시 설정할 수 있는 기회를 제공해야 합니다.public void displayProviderDialog(ArrayList<Mvpd> mvpds)
가용성: v1.0+
매개 변수:
- mvpds: 응용 프로그램에서 MVPD 선택 UI 요소를 만드는 데 사용할 수 있는 MVPD 관련 정보를 포함하는 MVPD 개체의 목록입니다.
트리거 대상: getAuthentication(), getAuthorization()
setSelectedProvider setSelectedProvider
설명: 응용 프로그램에서 이 메서드를 호출하여 Access Enabler에 사용자의 MVPD 선택을 알립니다. 애플리케이션은 이 방법을 사용하여 인증에 사용되는 서비스 제공자를 선택 또는 변경할 수 있다.
선택한 MVPD가 TempPass MVPD인 경우 나중에 getAuthentication()을 호출할 필요 없이 해당 MVPD에 대해 자동으로 인증됩니다.
getAuthentication() 메서드에 추가 매개 변수가 제공되는 프로모션 임시 패스에는 이 작업이 가능하지 않습니다.
null 을(를) 매개 변수로 전달할 때 Access Enabler는 사용자가 인증 흐름을 취소했다고 가정하고(즉, "뒤로" 단추를 누름) 인증 상태 컴퓨터를 재설정하고 AccessEnablerConstants.PROVIDER_NOT_SELECTED_ERROR
오류 코드와 함께 setAuthenticationStatus() 콜백을 호출하여 응답합니다.
가용성: v1.0+
매개 변수: 없음
트리거된 콜백: setAuthenticationStatus(), sendTrackingData(), navigateToUrl()
navigateToUrl navigagteToUrl
사용하지 않음: Android SDK 3.0부터 navigateToUrl은 Chrome 사용자 지정 탭이 장치에 없는 경우에만 사용됩니다
설명: 자격 증명을 입력하기 위해 MVPD 로그인 페이지를 표시해야 함을 응용 프로그램에 알리는 Access Enabler에 의해 트리거된 콜백입니다. Access Enabler는 MVPD 로그인 페이지의 URL을 매개 변수로 전달합니다. 응용 프로그램이 WebView 컨트롤을 인스턴스화하고 이 URL로 전달해야 합니다. 또한 응용 프로그램은 WebView 컨트롤에서 로드한 URL을 모니터링하고 AccessEnabler.ADOBEPASS_REDIRECT_URL (deprecated)
상수로 정의된 사용자 지정 URL을 대상으로 하는 리디렉션 작업을 가로채야 합니다. 이 경우 응용 프로그램은 getAuthenticationToken() 메서드를 호출하여 WebView 컨트롤을 닫거나 숨기고 컨트롤을 Access Enabler 라이브러리로 반환해야 합니다. Access Enabler는 백엔드 서버에서 인증 토큰을 검색하여 토큰 저장소에 로컬로 저장하여 인증 흐름을 완료합니다.
사용자가 인증 흐름을 중단하는 것과 같은 "뒤로" 단추를 누를 수 있는 지점입니다. 이러한 시나리오에서는 응용 프로그램에서 매개 변수로 null 을(를) 전달하고 Access Enabler에 인증 상태 컴퓨터를 다시 설정할 수 있는 기회를 제공하는 setSelectedProvider() 메서드를 호출해야 합니다.
가용성: v1.0+
매개 변수:
- url: MVPD의 로그인 페이지를 가리키는 URL
트리거 대상: getAuthentication(), setSelectedProvider()
getAuthenticationToken getAuthNToken
사용하지 않음: Android SDK 3.0부터 Chrome 사용자 지정 탭이 인증에 사용되므로 이 메서드는 응용 프로그램에서 더 이상 사용되지 않습니다.
설명: 백 엔드 서버에서 인증 토큰을 요청하여 인증 흐름을 완료합니다. 이 메서드는 MVPD 로그인 페이지를 호스팅하는 WebView 컨트롤이 AccessEnabler.ADOBEPASS_REDIRECT_URL
상수로 정의된 사용자 지정 URL로 리디렉션되는 이벤트에 대한 응답으로만 응용 프로그램에서 호출해야 합니다.
가용성: v1.0+
매개 변수:
- 쿠키: 대상 도메인에 설정된 쿠키(참조 구현은 SDK의 데모 응용 프로그램 참조).
콜백 트리거됨: setAuthenticationStatus()
, sendTrackingData()
setAuthenticationStatus setAuthNStatus
설명: Access Enabler에서 트리거된 콜백입니다.
인증 흐름 상태의 적용입니다. 많음
사용자의 결과로 이 흐름이 실패할 수 있는 위치
상호 작용 또는 기타 예기치 않은 시나리오(예: 네트워크)로 인해
접속 문제 등). 이 콜백은 응용 프로그램에 다음을 알립니다.
인증 흐름의 성공/실패 상태 및
필요한 경우 실패 원인에 대한 추가 정보를 제공합니다.
가용성: v1.0+
매개 변수:
-
상태: 다음 값 중 하나를 사용할 수 있습니다.
AccessEnablerConstants.ACCESS_ENABLER_STATUS_SUCCESS
- 인증 흐름이 완료되었습니다.AccessEnablerConstants.ACCESS_ENABLER_STATUS_ERROR
- 인증 흐름 실패
-
code: 실패 이유입니다. status 이(가)
AccessEnablerConstants.ACCESS_ENABLER_STATUS_SUCCESS
이면 code 은(는) 빈 문자열입니다(즉,AccessEnablerConstants.USER_AUTHENTICATED
상수로 정의됨). 실패할 경우 이 매개 변수는 다음 값 중 하나를 사용할 수 있습니다.AccessEnablerConstants.USER_NOT_AUTHENTICATED_ERROR
- 사용자가 인증되지 않았습니다. 로컬 토큰 캐시에 올바른 인증 토큰이 없는 경우 checkAuthentication() 메서드 호출에 대한 응답입니다.AccessEnablerConstants.PROVIDER_NOT_SELECTED_ERROR
- 인증 흐름을 중단하기 위해 상위 계층 응용 프로그램이 null 을(를)setSelectedProvider()
(으)로 전달한 후 AccessEnabler가 인증 상태 컴퓨터를 다시 설정했습니다. 사용자가 인증 흐름을 취소한 것 같습니다(즉, "뒤로" 단추 누름).AccessEnablerConstants.GENERIC_AUTHENTICATION_ERROR
- 네트워크를 사용할 수 없거나 사용자가 인증 흐름을 명시적으로 취소하는 등의 이유로 인증 흐름이 실패했습니다.
트리거 대상: checkAuthentication(), getAuthentication(), checkAuthorization()
checkPreauthorizedResources checkPreauth
사용하지 않음: Android SDK 3.6부터 사전 권한 부여 API가 checkPreauthorizedResources를 대체하여 확장된 오류 코드를 제공합니다.
설명: 응용 프로그램에서 이 메서드를 사용하여 사용자가 특정 보호된 리소스를 볼 수 있는 권한이 있는지 확인합니다. 이 메서드의 주요 목적은 UI를 장식하는 데 사용할 정보를 검색하는 것입니다(예: 잠금 및 잠금 해제 아이콘으로 액세스 상태를 표시).
public void checkPreauthorizedResources(ArrayList<String> resources)
가용성: v1.3+
매개 변수: resources
매개 변수는 인증을 확인해야 하는 리소스 배열입니다. 목록의 각 요소는 리소스 ID를 나타내는 문자열이어야 합니다. 리소스 ID는 getAuthorization()
호출에서 리소스 ID와 동일한 제한을 받습니다. 즉, 프로그래머와 MVPD 간에 설정된 동의 값 또는 미디어 RSS 조각이어야 합니다.
트리거된 콜백: preauthorizedResources()
checkPreauthorizedResources checkPreauth2
사용하지 않음: Android SDK 3.6부터 사전 권한 부여 API가 checkPreauthorizedResources를 대체하여 확장된 오류 코드를 제공합니다.
설명: 응용 프로그램에서 이 메서드를 사용하여 사용자가 특정 보호된 리소스를 볼 수 있는 권한이 있는지 확인합니다. 이 메서드의 주요 목적은 UI를 장식하는 데 사용할 정보를 검색하는 것입니다(예: 잠금 및 잠금 해제 아이콘으로 액세스 상태를 표시).
public void checkPreauthorizedResources(ArrayList<String> resources, boolean cache)
가용성: v3.1+
매개 변수: resources
매개 변수는 인증을 확인해야 하는 리소스 배열입니다. 목록의 각 요소는 리소스 ID를 나타내는 문자열이어야 합니다. 리소스 ID는 getAuthorization()
호출에서 리소스 ID와 동일한 제한을 받습니다. 즉, 프로그래머와 MVPD 간에 설정된 동의 값 또는 미디어 RSS 조각이어야 합니다.
cache
매개 변수는 캐시된 사전 권한 부여 응답을 사용할 수 있는지 여부를 지정합니다. 기본 캐시가 true이면 SDK는 사용 가능한 경우 이전에 캐시한 응답을 반환합니다.
트리거된 콜백: preauthorizedResources()
preauthoriz된 리소스 preauthResources
사용하지 않음: Android SDK 3.6부터 사전 권한 부여 API가 checkPreauthorizedResources를 대체하여 확장된 오류 코드를 제공합니다. preauthorizedResources 콜백은 새 API에서 호출되지 않습니다.
설명: checkPreauthorizedResources()에 의해 트리거된 콜백입니다. 사용자가 이미 볼 수 있는 권한이 있는 리소스 목록을 제공합니다.
public void checkPreauthorizedResources(ArrayList<String> resources)
가용성: v1.3+
매개 변수: resources
매개 변수는 사용자가 이미 볼 수 있는 리소스 배열입니다.
트리거 대상: checkPreauthorizedResources()
checkAuthorization
설명: 응용 프로그램에서 인증 상태를 확인하는 데 이 메서드를 사용합니다. 먼저 인증 상태를 확인하는 것으로 시작됩니다. 인증되지 않은 경우 setTokenRequestFailed() 콜백이 트리거되고 메서드가 종료됩니다. 사용자가 인증되면 권한 부여 플로우도 트리거됩니다. getAuthorization() 메서드에 대한 자세한 내용을 참조하십시오.
가용성: v1.0+
가용성: v1.8+
매개 변수:
- resourceId: 사용자가 인증을 요청하는 리소스의 ID입니다.
- data: Pay-TV Pass 서비스로 보낼 키-값 쌍으로 구성된 맵입니다. Adobe은 이 데이터를 사용하여 SDK를 변경하지 않고 향후 기능을 활성화할 수 있습니다.
트리거된 콜백: tokenRequestFailed(), setToken(),sendTrackingData(), setAuthenticationStatus()
getAuthorization
설명: 응용 프로그램에서 인증 흐름을 시작하는 데 이 메서드를 사용합니다. 사용자가 아직 인증되지 않은 경우 인증 플로우도 시작합니다. 사용자가 인증되면 Access Enabler는 계속해서 인증 토큰(로컬 토큰 캐시에 유효한 인증 토큰이 없는 경우) 및 단기 미디어 토큰에 대한 요청을 발행합니다. 짧은 미디어 토큰을 얻으면 인증 흐름이 완료된 것으로 간주됩니다. setToken() 콜백이 트리거되고 짧은 미디어 토큰이 응용 프로그램에 매개 변수로 전달됩니다. 어떤 이유로든 인증에 실패하면 tokenRequestFailed() 콜백이 트리거되고 오류 코드와 세부 정보가 제공됩니다.
가용성: v1.0+
가용성: v1.8+
매개 변수:
- resourceId: 사용자가 인증을 요청하는 리소스의 ID입니다.
- data: Pay-TV Pass 서비스로 보낼 키-값 쌍으로 구성된 맵입니다. Adobe은 이 데이터를 사용하여 SDK를 변경하지 않고 향후 기능을 활성화할 수 있습니다.
트리거된 콜백: tokenRequestFailed(), setToken(), sendTrackingData()
이 메서드는 다음 콜백도 트리거할 수 있습니다(인증 흐름도 시작된 경우). setAuthenticationStatus(), displayProviderDialog(), navigateToUrl()
참고: 가능하면 getAuthorization() 대신 checkAuthorization()을 사용하십시오. getAuthorization() 메서드는 전체 인증 흐름을 시작하며(사용자가 인증되지 않은 경우) 이로 인해 프로그래머 측에서 복잡한 구현이 발생할 수 있습니다.
setToken setToken
설명: 응용 프로그램에 인증 흐름이 성공적으로 완료되었음을 알리는 Access Enabler에 의해 트리거된 콜백입니다. 수명이 짧은 미디어 토큰도 매개 변수로 제공됩니다.
가용성: v1.0+
매개 변수:
- token: 수명이 짧은 미디어 토큰
- resourceId: 인증을 받은 리소스입니다.
트리거 대상: checkAuthorization()
, getAuthorization()
token요청 실패 tokenRequestFailed
설명: 인증 흐름이 실패했음을 상위 레이어 응용 프로그램에 알리는 Access Enabler에 의해 트리거된 콜백입니다.
문자열 errorCode, 문자열 errorDescription)
가용성: v1.0+
매개 변수:
-
resourceId: 인증을 받은 리소스입니다.
-
errorCode: 오류 시나리오와 연결된 오류 코드입니다. 가능한 값:
AccessEnablerConstants.USER_NOT_AUTHORIZED_ERROR
- 사용자가 지정된 리소스에 대해 권한을 부여할 수 없습니다.
-
errorDescription: 실패 시나리오에 대한 추가 세부 정보입니다. 어떤 이유로든 이 설명 문자열을 사용할 수 없는 경우 Adobe Pass 인증에서 빈 문자열 (") 을(를) 보냅니다.
이 문자열은 MVPD에서 사용자 지정 오류 메시지 또는 판매 관련 메시지를 전달하는 데 사용할 수 있습니다. 예를 들어 구독자가 리소스에 대한 권한 부여를 거부하면 MVPD가 다음과 같은 메시지를 보낼 수 있습니다. "현재 패키지의 이 채널에 대한 액세스 권한이 없습니다. 패키지를 업그레이드하려면 여기를 클릭하십시오." 이 콜백을 통해 Adobe Pass Authentication에서 메시지를 표시하거나 무시할 수 있는 옵션이 있는 프로그래머에게 전달합니다. Adobe Pass 인증은 이 매개 변수를 사용하여 오류가 발생했을 수 있는 조건에 대한 알림을 제공할 수도 있습니다. 예를 들어 "공급자의 인증 서비스와 통신할 때 네트워크 오류가 발생했습니다."와 같은 경우입니다.
트리거 대상: checkAuthorization(), getAuthorization()
로그아웃 logout
설명: 로그아웃 흐름을 시작하려면 이 메서드를 사용하십시오. 로그아웃은 사용자가 Adobe Pass 인증 서버와 MVPD의 서버 모두에서 로그아웃해야 하므로 일련의 HTTP 리디렉션 작업의 결과입니다. 따라서 Access Enabler 라이브러리에서 발급하는 간단한 HTTP 요청으로는 이 흐름을 완료할 수 없습니다. SDK는 Chrome 사용자 지정 탭을 사용하여 HTTP 리디렉션 작업을 실행합니다. 이 플로우는 사용자가 볼 수 있으며 완료될 때 닫힙니다
가용성: v1.0+
매개 변수: 없음
트리거된 콜백:
- 3.0 이전 버전의 SDK용
navigateToUrl()
- SDK 버전 > 3.0용
setAuthenticationStatus()
getSelectedProvider getSelectedProvider
설명: 이 메서드를 사용하여 현재 선택한 공급자를 확인합니다.
가용성: v1.0+
매개 변수: 없음
트리거된 콜백: selectedProvider()
selectedProvider
설명: 현재 선택한 MVPD에 대한 정보를 응용 프로그램에 전달하는 Access Enabler에서 트리거되는 콜백입니다.
가용성: v1.0+
매개 변수:
- mvpd: 현재 선택한 MVPD에 대한 정보가 포함된 개체
트리거 대상: getSelectedProvider()
getMetadata getMetadata
설명: 이 메서드를 사용하여 Access Enabler 라이브러리에서 메타데이터로 노출된 정보를 검색합니다. 응용 프로그램은 복합 MetadataKey 개체를 제공하여 이 정보에 액세스할 수 있습니다.
public void getMetadata(MetadataKey metadataKey)
가용성: v1.0+
프로그래머가 사용할 수 있는 메타데이터에는 두 가지 유형이 있습니다.
- 정적 메타데이터(인증 토큰 TTL, 인증 토큰 TTL 및 장치 ID)
- 사용자 메타데이터(사용자 ID 및 우편번호와 같은 사용자별 정보, 인증 및/또는 인증 흐름 동안 MVPD에서 사용자의 장치로 전달됨)
매개 변수:
-
metadataKey: 키 및 args 변수를 캡슐화하는 데이터 구조입니다. 다음 의미가 있습니다.
-
키가
METADATA_KEY_USER_META
이고 args에 이름 =METADATA_ARG_USER_META
, 값 =[metadata_name]
인 SerializableNameValuePair 개체가 있으면 사용자 메타데이터에 대해 쿼리가 수행됩니다. 사용 가능한 사용자 메타데이터 유형의 현재 목록:-
zip
- 우편 번호 -
householdID
- 세대 식별자. MVPD가 하위 계정을 지원하지 않는 경우userID
과(와) 동일합니다. -
maxRating
- 사용자의 최대 자녀 보호 등급 -
userID
- 사용자 식별자. MVPD가 하위 계정을 지원하고 사용자가 주 계정이 아닌 경우userID
은(는)householdID
과(와) 달라집니다. -
channelID
- 사용자가 볼 수 있는 채널 목록
-
-
키가
METADATA_KEY_DEVICE_ID
이면 현재 장치 ID를 얻기 위해 쿼리를 실행합니다. 이 기능은 기본적으로 비활성화되어 있으며 프로그래머는 사용 권한 및 요금에 대한 정보를 Adobe에 문의해야 합니다. -
키가
METADATA_KEY_TTL_AUTHZ
이고 인수에 이름 =METADATA_ARG_RESOURCE_ID
, 값 =[resource_id]
인 SerializableNameValuePair 개체가 포함된 경우 지정한 리소스와 연결된 인증 토큰의 만료 시간을 얻기 위해 쿼리가 수행됩니다. -
키가
METADATA_KEY_TTL_AUTHN
인 경우 인증 토큰 만료 시간을 얻기 위해 쿼리가 수행됩니다.
-
METADATA_KEY_USER_META, METADATA_KEY_DEVICE_ID, METADATA_KEY_TTL_AUTHZ, METADATA_KEY_TTL_AUTHN
을(를) com.adobe.adobepass.accessenabler.api.profile.UserProfileService에서 사용할 수 있습니다.트리거된 콜백: setMetadataStatus()
추가 정보: 사용자 메타데이터
setMetaStatus setMetadaStatus
설명: getMetadata() 호출을 통해 요청된 메타데이터를 전달하는 Access Enabler에 의해 트리거된 콜백입니다.
public void setMetadataStatus(MetadataKey key, MetadataStatus result)
가용성: v1.0+
매개 변수:
-
key: 메타데이터 값이 요청된 키 및 관련 매개 변수가 포함된 MetadataKey 개체입니다(참조 구현은 데모 응용 프로그램 참조).
-
result: 요청된 메타데이터가 포함된 복합 개체입니다. 개체에는 다음 필드가 있습니다.
-
simpleResult: 인증 TTL, 권한 부여 TTL 또는 장치 ID에 대해 요청을 했을 때 메타데이터 값을 나타내는 문자열입니다. 사용자 메타데이터에 대한 요청인 경우 이 값은 null입니다.
-
userMetadataResult: JSON 사용자 메타데이터 페이로드의 Java 표현이 포함된 개체입니다.
For example:
-
'{
"street": "Main Avenue",
"buildings": ["150", "320"]
}'
는 다음과 같이 Java로 변환됩니다.
Map("street" -> "Main Avenue", "buildings" -> List("150", "320")))
사용자 메타데이터 개체의 실제 구조는 다음과 유사합니다.
{
updated: 1334243471,
encrypted: ["encryptedProp"],
data: {
zip: ["12345", "34567"],
maxRating: {
"MPAA": "PG-13",
"VCHIP": "TV-Y",
"URL": "http://exam.pl/e/manage/ratings"
},
householdID: "3456",
userID: "BgSdasfsdk23/dsaf3+saASesadgfsShggssd=",
channelID: ["channel-1", "channel-2"]
}
}
단순 메타데이터(인증 TTL, 권한 부여 TTL 또는 장치 ID)에 대해 요청되면 이 값은 null입니다.
- encrypted: 검색된 메타데이터의 암호화 여부를 지정하는 부울 값입니다. 이 매개 변수는 사용자 메타데이터 요청에만 중요하며 항상 암호화되지 않은 상태로 수신되는 정적 메타데이터(예: 인증 TTL)에는 의미가 없습니다. 이 매개 변수가 True로 설정되면 화이트리스트에 추가한 개인 키(
setRequestor
호출에서 요청자 ID의 서명에 사용되는 것과 동일한 개인 키)를 사용하여 RSA 암호 해독을 수행하여 암호화되지 않은 사용자 메타데이터 값을 얻는 것은 프로그래머가 결정합니다.
트리거 대상: getMetadata()
추가 정보: 사용자 메타데이터
getVersion getVersion
설명: 이 메서드는 AccessEnabler 라이브러리 버전을 검색하는 데 사용할 수 있습니다.
public static String getVersion()
이벤트 추적 tracking
Access Enabler는 자격 흐름과 관련이 없는 추가 콜백을 트리거합니다. 이름이 sendTrackingData() 인 이벤트 추적 콜백 함수를 구현하는 것은 선택 사항이지만 응용 프로그램에서 특정 이벤트를 추적하고 인증/권한 부여 시도 성공/실패 횟수와 같은 통계를 컴파일할 수 있도록 합니다. 다음은 sendTrackingData() 콜백에 대한 사양입니다.
sendTrackingData sendTrackingData
설명: 인증/권한 부여 흐름의 완료/실패와 같은 다양한 이벤트가 발생할 때 응용 프로그램에 대한 Access Enabler 신호로 트리거되는 콜백입니다. 디바이스 유형, Access Enabler 클라이언트 유형 및 운영 체제도 sendTrackingData()에 의해 보고됩니다.
-
장치 유형에 가능한 값:
computer
tablet
mobile
gameconsole
unknown
-
Access Enabler 클라이언트 유형에 사용할 수 있는 값은 다음과 같습니다.
flash
html5
ios
android
public void sendTrackingData(Event event, ArrayList<String> data)
가용성: v1.0+
매개 변수:
-
event: 추적 중인 이벤트입니다. 가능한 추적 이벤트 유형에는 세 가지가 있습니다.
- 인증 토큰 요청이 반환될 때마다 authorizationDetection:(이벤트 유형:
EVENT_AUTHZ_DETECTION
) - authenticationDetection: 인증 확인이 발생할 때마다(이벤트 유형은
EVENT_AUTHN_DETECTION
) - 사용자가 MVPD 선택 양식(이벤트 유형:
EVENT_MVPD_SELECTION
)에서 MVPD를 선택하는 경우 mvpdSelection:
- 인증 토큰 요청이 반환될 때마다 authorizationDetection:(이벤트 유형:
-
data: 보고된 이벤트와 연결된 추가 데이터입니다. 이 데이터는 값 목록 형태로 표시됩니다.
다음은 data 의 값을 해석하기 위한 지침입니다
배열:
-
이벤트 유형
EVENT_AUTHN_DETECTION
: 의 경우- 0 - 토큰 요청의 성공 여부(true/false) 및 위의 내용이 true인 경우:
- 1 - MVPD ID 문자열
- 2 - GUID(md5 해시됨)
- 3 - 토큰이 캐시에 이미 있습니다(true/false).
- 4 - 장치 유형
- 5 - Access Enabler 클라이언트 유형
- 6 - 운영 체제 유형
-
이벤트 유형
EVENT_AUTHZ_DETECTION
에 대한- 0 - 토큰 요청의 성공 여부(true/false) 및 성공 여부:
- 1 - MVPD ID
- 2 - GUID(md5 해시됨)
- 3 - 토큰이 캐시에 이미 있습니다(true/false).
- 4 - 오류
- 5 - 세부 정보
- 6 - 장치 유형
- 7 - Access Enabler 클라이언트 유형
- 8 - 운영 체제 유형
-
이벤트 유형
EVENT_MVPD_SELECTION
에 대한- 0 - 현재 선택한 MVPD의 ID
- 1 - 장치 유형
- 2 - Access Enabler 클라이언트 유형
- 3 - 운영 체제 유형
트리거 대상: checkAuthentication()
, getAuthentication()
, checkAuthorization()
, getAuthorization()
, setSelectedProvider()