iOS용 Amazon 시작 안내서로 로그인
Amazon으로 로그인 : iOS 용 시작 안내서
저작권 © 2016 Amazon.com, Inc. 또는 그 계열사. 판권 소유.
Amazon 및 Amazon 로고는 Amazon.com, Inc. 또는 그 계열사의 상표입니다. 아마존이 소유하지 않은 기타 모든 상표는 해당 소유자의 자산입니다.
iOS 시작하기
이 가이드에서는 iOS 앱에 Login with Amazon을 추가하는 방법을 보여줍니다. 이 가이드를 완료한 후에는 사용자가 Amazon 자격 증명으로 로그인할 수 있도록 앱에 Amazon으로 로그인 버튼이 작동해야 합니다.
Xcode 설치
Login with Amazon SDK for iOS는 iOS 애플리케이션에 Login with Amazon을 추가 할 수 있도록 Amazon에서 제공합니다. SDK는 Xcode 개발 환경에서 사용하기위한 것입니다. SDK는 ARMv7.0, ARMv7s, ARM7, i64 및 x386_86를 사용하여 iOS 64 이상에서 실행되는 앱을 지원합니다.
Mac App Store에서 Xcode를 설치할 수 있습니다. 자세한 내용은 Xcode : 새로운 기능 developer.apple.com.
Xcode가 설치된 후 다음을 수행 할 수 있습니다. iOS 용 Amazon SDK로 로그인 설치 그리고 S를 실행하세요amp르 앱, 아래에 설명되어 있습니다.
iOS 용 Amazon SDK로 로그인 설치
iOS용 Amazon SDK로 로그인은 두 가지 패키지로 제공됩니다. 첫 번째는 iOS 라이브러리와 지원 문서를 포함합니다. 두 번째는 다음을 포함합니다.amp사용자가 로그인하고 view 그들의 프로file 데이터.
아직 Xcode를 설치하지 않은 경우 다음의 지침을 참조하십시오. Xcode 설치 위 섹션 참조.
- 다운로드 LoginWithAmazonSDKForiOS.zip 그리고 추출하다 files를 하드 드라이브의 디렉토리로 이동합니다.
당신은 볼 수 LoginWithAmazon.framework 예배 규칙서. 여기에는 Login with Amazon 라이브러리가 포함되어 있습니다.
지퍼의 최상위 수준에는 LoginWithAmazon.doc 디렉토리를 설정합니다. 여기에는 API 문서가 포함되어 있습니다. - 보다 Amazon Library로 로그인 설치 iOS 프로젝트에 라이브러리를 추가하는 방법에 대한 지침을 참조하세요.
iOS 용 Amazon SDK로 로그인이 설치되면 다음을 수행 할 수 있습니다. Amazon 프로젝트로 새 로그인 생성 ~ 후에 Amazon에 로그인하여 등록합니다.
S를 실행하세요amp르 앱
s를 실행하려면amp르 응용 프로그램, s를 엽니다ampXcode의 le.
- 다운로드 SampleLoginWithAmazonAppForiOS.zip 그리고 복사하다
SampleLoginWithAmazonAppForiOS 디렉터리를 Documents 폴더에 복사하세요. - 엑스코드를 시작합니다. Welcome to Xcode 대화 상자가 나타나면 기타 열기를 클릭합니다. 그렇지 않으면 기본 메뉴에서 File 열기를 선택하세요.
- 문서 폴더를 선택하고
SampleLoginWithAmazonAppForiOS/LoginWithAmazonSamp파일/ LoginWithAmazonSample.xcodeproj. 클릭 열려 있는. - Samp이제 le 프로젝트가 로드됩니다. 완료되면 선택 제품 메인 메뉴에서 달리다
Amazon에 로그인에 등록
Amazon에 로그인하기 전에 web사이트 또는 모바일 앱에서는 Amazon으로 로그인하여 애플리케이션을 등록해야 합니다. Amazon으로 로그인 애플리케이션은 비즈니스에 대한 기본 정보와 각 비즈니스에 대한 정보가 포함된 등록입니다. webAmazon으로 로그인을 지원하는 귀하가 만든 사이트 또는 모바일 앱. 이 비즈니스 정보는 사용자가 귀하의 Amazon으로 로그인을 사용할 때마다 표시됩니다. web사이트 또는 모바일 앱. 사용자에게는 애플리케이션 이름, 로고, 개인정보 보호정책 링크가 표시됩니다. 이 단계에서는 Amazon 애플리케이션에 로그인을 등록하고 해당 계정에 iOS 앱을 추가하는 방법을 보여줍니다.
다음 항목을 참조하세요.
- Amazon 애플리케이션에 로그인 등록
- 보안 전문가에게 iOS 앱 추가file
- iOS 번들 ID 및 API 키
o iOS 앱의 번들 식별자 결정
o iOS API 키 검색
Amazon 애플리케이션에 로그인 등록
- 이동하다 https://login.amazon.com.
- 이전에 Login with Amazon에 가입 한 적이있는 경우 앱 콘솔. 그렇지 않으면을 클릭하십시오. 가입하기.
Login with Amazon에 대한 애플리케이션 등록을 처리하는 Seller Central로 리디렉션됩니다. Seller Central을 처음 사용하는 경우 Seller Central 계정을 설정하라는 메시지가 표시됩니다. - 딸깍 하는 소리 신규 신청 등록. 그 신청서 등록 양식이 나타납니다.
a. 신청서 등록 양식에 이름과 설명 귀하의 신청서에.
그만큼 이름 사용자가 귀하의 애플리케이션과 정보를 공유하는 데 동의할 때 동의 화면에 표시되는 이름입니다. 이 이름은 Android, iOS 및 web애플리케이션의 사이트 버전.
b. 개인정보 보호정책을 입력하세요 URL 귀하의 신청서에.
개인 정보 보호 정책 URL 회사 또는 응용 프로그램의 개인 정보 보호 정책이 있는 위치입니다(예:amp르, http://www.example.com/privacy.html). 이 링크는 동의 화면에서 사용자에게 표시됩니다.
c. 추가하려면 로고 이미지 귀하의 신청서를 클릭해주세요 먹다 해당되는 이미지를 찾으세요.
이 로고는 귀하의 비즈니스를 나타내기 위해 로그인 및 동의 화면에 표시됩니다. web대지. 로고가 50픽셀보다 크면 높이가 50픽셀로 축소됩니다. 로고의 너비에는 제한이 없습니다. - 딸깍 하는 소리 구하다. 당신의 sample 등록은 다음과 유사해야 합니다.
기본 애플리케이션 설정을 저장한 후 특정 설정을 추가할 수 있습니다. web이 Login with Amazon 계정을 사용할 사이트 및 모바일 앱.
하나 이상의 테스트 버전과 프로덕션 버전과 같이 앱의 여러 버전에 서로 다른 번들 ID가 있는 경우 각 버전에는 자체 API 키가 필요합니다. 로부터 iOS 설정 앱의 API 키 추가 버튼을 클릭하여 앱에 대한 추가 키를 만듭니다 (버전 당 하나).
보안 전문가에게 iOS 앱 추가file
기본 애플리케이션 설정을 저장한 후 특정 설정을 추가할 수 있습니다. web이 Login with Amazon 계정을 사용할 사이트 및 모바일 앱.
iOS 앱을 등록하려면 앱 프로젝트에 대한 번들 식별자를 지정해야합니다. Amazon 로그인은 번들 ID를 사용하여 API 키를 생성합니다. API 키는 앱에 Login with Amazon 권한 부여 서비스에 대한 액세스 권한을 부여합니다. 계정에 iOS 앱을 추가하려면 다음 단계를 따르십시오.
- 애플리케이션 화면에서 클릭하세요 iOS 설정. 이미 등록 된 iOS 앱이있는 경우 API 키 추가 버튼에 iOS 설정 부분.
그만큼 iOS 애플리케이션 세부정보 양식이 나타납니다:
- 입력하세요 상표 iOS 앱의 앱의 공식 이름일 필요는 없습니다. 이는 단순히 앱 중에서 이 특정 iOS 앱을 식별하고 webLogin with Amazon 애플리케이션에 등록된 사이트.
- 입력하세요 번들 ID. 이는 iOS 프로젝트의 번들 식별자와 일치해야 합니다. 번들 식별자를 확인하려면 Xcode에서 프로젝트를 엽니다. 프로젝트의 속성 목록을 엽니다( -Info.plist) 프로젝트 네비게이터. 번들 식별자는 목록의 속성 중 하나입니다.
- 딸깍 하는 소리 구하다.
iOS 번들 ID 및 API 키
번들 식별자는 모든 iOS 앱마다 고유합니다. Login with Amazon은 번들 ID를 사용하여 API 키를 생성합니다. API 키를 사용하면 Login with Amazon 인증 서비스가 앱을 인식할 수 있습니다.
iOS 앱에 대한 번들 식별자 결정
- Xcode에서 앱 프로젝트를 엽니다.
- 열기 정보 속성 목록 프로젝트를 위해 ( -Info.plist) 에서 프로젝트 네비게이터.
- 찾다 번들 식별자 속성 목록에서.
iOS API 키 검색
iOS 버전을 등록하고 번들 ID를 제공 한 후 Login with Amazon 애플리케이션의 등록 페이지에서 API 키를 검색 할 수 있습니다. 해당 API 키를 프로젝트의 속성 목록에 배치해야합니다. 그렇게 할 때까지 앱은 Login with Amazon 권한 부여 서비스와 통신 할 권한이 없습니다.
1. 이동 https://login.amazon.com.
2. 클릭 앱 콘솔.
3. 에서 앱 상자에서 애플리케이션을 클릭합니다.
4. 아래에서 iOS 앱을 찾으세요. iOS 설정 부분. iOS 앱을 아직 등록하지 않은 경우 다음을 참조하세요. 보안 전문가에게 iOS 앱 추가file.
5. 클릭 API 키 값을 생성합니다. 팝업 창에 API 키가 표시됩니다. 키를 복사하려면 모두 선택 전체 키를 선택합니다.
메모: API 키 값은 부분적으로 생성 된 시간을 기반으로합니다. 따라서 생성하는 후속 API 키 값은 원본과 다를 수 있습니다. 이러한 API 키 값은 모두 유효하므로 앱에서 사용할 수 있습니다.
6. 보세요 앱 속성 목록에 API 키 추가 iOS 앱에 API 키를 추가하는 방법에 대한 지침
Amazon 프로젝트로 로그인 생성
이 섹션에서는 Login with Amazon을위한 새 Xcode 프로젝트를 생성하고 프로젝트를 구성하는 방법을 알아 봅니다.
다음 주제를 참조하십시오.
- Amazon 프로젝트로 새 로그인 생성
- Amazon Library로 로그인 설치
- 앱 속성 목록에 API 키 추가
- 추가하다 URL 앱 속성 목록에 대한 체계
- 앱에 Amazon에 대한 앱 전송 보안 예외 추가 부동산 목록
메모: 이 새로운 단계는 현재 iOS 9 SDK에서 개발할 때 필요합니다. - 앱에 Amazon Button으로 로그인 추가
Amazon 프로젝트로 새 로그인 생성
Login with Amazon을 사용하기 위한 앱 프로젝트가 아직 없다면 아래 지침에 따라 하나 생성하세요. 기존 앱이 있는 경우 아래의 Amazon 라이브러리로 로그인 설치 섹션으로 건너뛰세요.
- 시작하다 엑스코드.
- 당신이 제시된 경우 Xcode에 오신 것을 환영합니다 대화 상자에서 선택 새 Xcode 프로젝트 만들기.
그렇지 않으면 File 메뉴, 선택 새로운 그리고 프로젝트. - 생성하려는 프로젝트 유형을 선택하고 다음.
- 입력하세요 제품 이름 그리고 회사 식별자. 당신의 번들 식별자, 그리고 클릭하세요 다음.
- 프로젝트를 저장할 위치를 선택하고 만들다.
이제 Login with Amazon을 호출하는 데 사용할 수있는 새 프로젝트가 생성됩니다.
Amazon Library로 로그인 설치
iOS 용 Amazon SDK로 로그인을 아직 다운로드하지 않은 경우 iOS 용 Amazon SDK로 로그인 설치.
Login with Amazon 프로젝트는 LoginWithAmazon.framework 그리고 보안.프레임워크 도서관. 또한 Login with Amazon 헤더를 찾으려면 프레임워크 검색 경로를 구성해야 합니다.
- Xcode에서 프로젝트를 연 상태에서 프레임워크 폴더를 클릭하십시오. File 메인 메뉴에서 다음을 선택하세요. 추가하다 Files 에게 "프로젝트".
- 대화 상자에서 LoginWithAmazon.framework 그리고 추가를 클릭하세요.
Login with Amazon 1.0 라이브러리를 사용한 경우 Frameworks 폴더에서 login-with-amazon sdk 디렉터리 및 login-with-amazon-sdk.a를 삭제합니다. 딸깍 하는 소리 편집하다 메인 메뉴에서 삭제. - 프로젝트 이름을 선택하세요. 프로젝트 네비게이터.
그만큼 프로젝트 편집기 Xcode 작업 공간의 편집기 영역에 나타납니다. - 아래에서 프로젝트 이름을 클릭하십시오. 목표, 그리고 선택하세요 빌드 단계. Link Binary with Libraries를 확장하고 더하기 기호를 클릭하여 라이브러리를 추가합니다.
- 검색 창에 보안.프레임워크. 선택하다 보안.프레임워크 및클릭 추가하다.
- 검색 창에 SafariServices.framework. 선택하다 SafariServices.framework 그리고 클릭하세요 추가하다.
- 검색 창에 CoreGraphics.framework. 선택하다 CoreGraphics.framework 그리고 클릭하세요 추가하다
- 선택하다 빌드 설정. 모두 클릭하여 view 모든 설정.
- 아래에 검색 경로, 다음을 확인하십시오. LoginWithAmazon.framework 디렉토리는 프레임 워크 검색 경로.
예를 들어amp르 :
Login with Amazon 1.0 라이브러리를 사용한 경우 다음에서 1.0 라이브러리 경로에 대한 참조를 제거할 수 있습니다. 헤더 검색 경로 or 도서관 검색 경로. - 메인 메뉴에서 클릭하세요 제품 그리고 선택하세요 짓다. 빌드가 성공적으로 완료되어야합니다.
프로젝트를 빌드하기 전에 Login with Amazon 1.0 라이브러리를 사용한 경우 #import “AIMobileLib.h”, #import “AIAuthenticationDelegate.h”, or #수입 "AIError.h" 당신의 소스에서 file와 함께 #수입
.
LoginWithAmazon.h 모든 Login with Amazon 헤더를 한 번에 포함합니다.
앱 속성 목록에 API 키 추가
Login with Amazon에 iOS 애플리케이션을 등록하면 API 키가 할당됩니다. 이는 Amazon Mobile Library가 Login with Amazon 인증 서비스에 대해 애플리케이션을 식별하는 데 사용하는 식별자입니다. Amazon Mobile Library는 애플리케이션의 정보 속성 목록에 있는 API 키 속성 값에서 런타임 시 이 값을 로드합니다.
- 프로젝트를 연 상태에서 지원하다 Files 폴더를 선택한 다음 -Info.plist file (어디 프로젝트 이름). 편집 할 속성 목록이 열립니다.
- 선택된 항목이 없는지 확인하십시오. 그런 다음 메인 메뉴에서 다음을 클릭하세요. 편집자, 그리고 아이템 추가. 입력하다 APIKey 그리고 누르세요 입력하다.
- 아래를 두 번 클릭하십시오. 값 값을 추가하는 열. API 키를 값으로 붙여 넣습니다.
추가하다 URL 앱 속성 목록에 대한 체계
사용자가 로그인하면 Amazon 로그인 페이지가 표시됩니다. 앱에서 로그인 확인을 받으려면 다음을 추가해야합니다. URL 계획 web 페이지를 앱으로 다시 리디렉션할 수 있습니다. NS URL 계획은 다음과 같이 선언되어야합니다. amzn- (예를 들어amp르, amzncom.examp르.앱). 자세한 내용은 사용 중 URL 앱과 통신하는 체계 developer.apple.com.
- 프로젝트를 연 상태에서 지원하다 Files 폴더를 선택한 다음 -Info.plist file (어디 프로젝트 이름). 편집 할 속성 목록이 열립니다.
- 선택된 항목이 없는지 확인하십시오. 그런 다음 메인 메뉴에서 다음을 클릭하세요. 편집자, 그리고 아이템 추가. 입력 또는 선택 URL 유형 그리고 누르세요 입력하다.
- 확장하다 URL 유형 공개하다 목 0. 선택하다 목 0 그리고 메인 메뉴에서 Editor와 Add Item을 클릭하세요. 입력 또는 선택 URL 식별자 및 누르기 입력하다.
- 선택하다 품목 0 아래에 URL 식별자 값 열 아래를 두 번 클릭하여 값을 추가합니다. 값은 번들 ID입니다. 속성 목록에서 번들 식별자로 나열된 번들 ID를 찾을 수 있습니다.
- 선택하다 품목 0 아래에 URL 유형 그리고 메인 메뉴에서 편집자 그리고 아이템 추가. 입력 또는 선택 URL 구성표를 선택하고 Enter 키를 누릅니다.
- 선택하다 품목 0 아래에 URL 계획 아래를 두 번 클릭합니다. 값 추가할 열 값. 값은 다음이 포함된 번들 ID입니다. amzn- 추가(예:amp르, amzn com.example.app). 다음과 같이 나열된 번들 ID를 찾을 수 있습니다. 번들 식별자 속성 목록에서.
앱에 Amazon에 대한 앱 전송 보안 예외 추가
부동산 목록
iOS 9부터 Apple은 앱과 앱 간의 보안 연결을 위해 ATS(App Transport Security)를 시행합니다. web 서비스. 정보를 교환하기 위해 Login with Amazon SDK가 상호 작용하는 엔드포인트(api.amazon.com)가 아직 ATS를 준수하지 않습니다. SDK와 Amazon 서버 간의 원활한 통신을 활성화하려면 api.amazon.com에 대한 예외를 추가하세요.
- 프로젝트를 연 상태에서 지원하다 Files 폴더를 선택한 다음 -Info.plist file (어디 프로젝트의 이름입니다). 그러면 편집할 수 있는 속성 목록이 열립니다:
- 항목이 없는지 확인하십시오. 그런 다음 주 메뉴에서 다음을 클릭하십시오. 편집자, 그리고 아이템 추가. 입력 또는 선택 NSAppTransport보안 그리고 누르세요 입력하다.
- 확장하다 NSAppTransport보안 그리고 메인 메뉴에서 편집자 그리고 아이템 추가. 입력 또는 선택 NSExceptionDomains 그리고 누르세요 입력하다.
- 확장하다 NSExceptionDomains 그리고 메인 메뉴에서 편집자 그리고 아이템 추가. amazon.com을 입력하고 누릅니다. 입력하다.
- 확장하다 아마존닷컴 그리고 메인 메뉴에서 편집자 그리고 아이템 추가.입력하다 NSExceptionRequiresForwardSecrecy 그리고 누르세요 입력하다.
- 선택하다 NSExceptionRequiresForwardSecrecy 아래를 두 번 클릭합니다. 값 추가할 열 유형 of 부울 그리고 값 of 아니요.
Login with Amazon은 사용자에게 앱에서 로그인하라는 메시지를 표시하는 데 사용할 수 있는 여러 표준 버튼을 제공합니다. 이 섹션에서는 공식 Login with Amazon 이미지를 다운로드하고 이를 iOS UIButton과 페어링하는 단계를 설명합니다.
- 앱에 표준 UIButton을 추가합니다.
앱에 버튼을 추가하는 방법에 대한 자습서 및 정보는 생성 및 구성 View 사물 그리고 오늘 iOS 앱 개발을 시작하세요 developer.apple.com. - 추가하다 내부 터치 업 라는 메서드에 대한 버튼 이벤트 onLoginButton클릭됨. 지금은 구현을 비워 두세요. 그만큼 생성 및 구성 중 View 사물 그리고 오늘 iOS 앱 개발을 시작하세요 apple.com의 문서에는 버튼 이벤트를 추가하는 단계가 포함되어 있습니다.
- 버튼 이미지를 선택하십시오.
Amazon 로그인을 참조하십시오. 스타일 가이드 라인 앱에서 사용할 수있는 버튼 목록입니다. 사본 다운로드 LWA_for_iOS.zip file. 1x 및 2x 디렉토리 모두에서 원하는 버튼을 찾아 zip에서 압축을 풉니다. 버튼을 선택 상태로 표시하려면 버튼의 _Pressed 버전을 추출하십시오. - 프로젝트에 이미지를 추가하십시오.
a. Xcode에서 프로젝트가로드 된 상태에서 File 메인 메뉴에서 추가하다 Files "프로젝트".
b. 대화 상자에서 버튼 이미지를 선택합니다. file(들)을 다운로드하고 클릭하세요. 추가하다.
c. 버튼은 이제 프로젝트 디렉토리 아래의 프로젝트에 있어야합니다. 지원팀으로 이동 File폴더. - 버튼에 이미지를 추가하십시오.
버튼 이미지를 활성화하려면 버튼 속성을 수정하거나 setImage : forState 방법에 UI버튼 목적. 버튼의 이미지 속성을 수정하려면 다음 단계를 따르세요.
a. 앱의 스토리 보드를 엽니 다.
b. 스토리 보드에서 버튼을 클릭하거나 View 제어 장치 장면 트리.
c. 에서 유용 창에서 속성 검사자.
d. 속성 검사기 상단에서 버튼 유형을 시스템으로 설정합니다.
e. 두 번째 설정 그룹에서 State Config에 대해 Default를 선택합니다.
f. 두 번째 설정 그룹에서 이미지 설정을 드롭다운합니다.
g. 프로젝트에 추가 한 Login with Amazon 버튼 그래픽을 선택합니다. 2x 버전을 선택하지 마십시오. 고밀도 디스플레이 (Retina) 장치에 자동으로로드됩니다.
h. 배경 설정에 동일한 이미지를 설정합니다.
i. 버튼을 누른 버전을 지정하려면 State Config에서 Selected를 선택하고 이미지를 버튼의 _Pressed 버전으로 설정하세요.
j. 필요한 경우 스토리 보드에서 이미지에 맞게 단추 크기를 조정합니다.
iOS API용 SDK 사용
이 섹션에서는 Login with Amazon으로 사용자를 로그인하는 코드를 프로젝트에 추가합니다.
다음 주제를 참조하십시오.
- 로그인 버튼을 처리하고 Pro 받기file 데이터
- 시작시 사용자 로그인 확인
- 인증 상태 지우기 및 사용자 로그 아웃
이 섹션에서는 전화를 거는 방법을 설명합니다. AuthorizeUserForScopes:위임: 그리고 getProfile:아피스 사용자에 로그인하고 해당 사용자의 프로를 검색하려면file 데이터. 여기에는 onLoginButtonClicked:리스너 Amazon 버튼으로 로그인하세요.
- iOS 프로젝트에 Login with Amazon을 추가하세요. Amazon 라이브러리를 사용하여 로그인 설치를 참조하십시오.
- Login with Amazon API를 소스로 가져 오기 file.
Login with Amazon API를 가져 오려면 다음을 추가하십시오. #importstatements 당신의 소스에 file:#수입 - 생성하다 AMZNAuthorizeUserDelegate클래스 구현하다
AIAuthenticationDelegate.
언제 AuthorizeUserForScopes:위임: 완료되면 요청 성공: or 요청 실패: 구현하는 객체의 메소드 AI인증대리자 규약.@interface AMZNAuthorizeUserDelegate : NSObject @끝 자세한 내용은 다음을 참조하세요. 프로토콜 작업 developer.apple.com.
- 부르다 AuthorizeUserForScopes:위임: in onLoginButton을 클릭했습니다.
다음 단계를 따랐다면 앱에 Amazon Button으로 로그인 추가, 당신은 onLoginButtonClicked : method Login with Amazon 버튼에 연결됩니다. 그 방법에서 AuthorizeUserForScopes:위임:대상 사용자에게 로그인하고 애플리케이션을 승인하라는 메시지를 표시합니다.
이 방법을 사용하면 사용자가 다음 방법 중 하나로 로그인하고 요청 된 정보에 동의 할 수 있습니다.
1.) 스위치로 전환 web view 보안 컨텍스트에서(Amazon Shopping 앱이 기기에 설치된 경우)
2.) 사파리로 전환 View 컨트롤러(iOS 9 이상)
3.) 시스템 브라우저로 전환합니다 (iOS 8 및 이전 버전).
첫 번째 옵션에 대한 보안 컨텍스트는 Amazon 쇼핑 앱이 장치에 설치되면 사용할 수 있습니다. 사용자가 이미 Amazon 쇼핑 앱에 로그인한 경우 로그인 페이지를 건너뛰고 단일 로그인(SSO) 경험.애플리케이션이 인증되면 범위라고 알려진 하나 이상의 데이터 세트에 대해 인증됩니다. 첫 번째 매개변수는 Login with Amazon에서 요청하는 사용자 데이터를 포함하는 범위 배열입니다. 사용자가 앱에 처음 로그인하면 요청하고 승인을 요청하는 데이터 목록이 표시됩니다. Login with Amazon은 현재 다음 세 가지 범위를 지원합니다. 찬성file, 사용자 이름, 이메일 주소 및 Amazon 계정 ID가 포함되어 있습니다. 찬성file:사용자 아이디, Amazon 계정 ID 만 포함합니다. 과 우편 번호, 사용자의 우편 번호를 포함합니다.
두 번째 매개변수는 AuthorizeUserForScopes:위임: 을 구현하는 개체입니다. AI인증Delegate프로토콜, 이 경우에는 AMZNAuthorizeUserDelegate 수업.– (IBAction) onLogInButtonClicked : (id) sender {
// 보안 액세스 토큰을 얻기 위해 SDK에 대한 승인 호출을 수행합니다.
// 사용자를 위한 것입니다.
// 첫 번째 호출을 하는 동안 최소 기본을 지정할 수 있습니다.
// 범위가 필요합니다.// 현재 사용자에 대해 두 범위를 모두 요청합니다.
NSArray *requestScopes =
[NSArray arrayWithObjects:@”프로file”, @”우편번호”, nil];AMZNAuthorizeUserDelegate* 대리인 =
[AIMobileLib AuthorizeUserForScopes:requestScopes 위임:위임];
[[AMZNAuthorizeUserDelegate 할당] initWithParentController:self];클래스 호출에 대리자 구현 헤더를 추가하세요.
AuthorizeUserForScopes:. 예를 들어amp르 :#import “AMZNAuthorizeUserDelegate.h” - 생성하다 AMZN겟프로file대리자.
AMZN겟프로file대리인 구현하는 클래스의 이름
AI인증Delegate프로토콜, 그리고 그 결과를 처리할 것이다. getProfile: 부르다. 좋다 AuthorizeUserForScopes:대리자:, getProfile: 지원합니다 요청 성공: 그리고 요청 실패: 프로토콜 방법. 요청 성공: 수신 API결과 프로와 이의를 제기하다file 결과 속성의 데이터입니다. 요청 실패: 수신 AI오류 error 속성에 오류에 대한 정보가 포함된 개체입니다.
일반 클래스 선언에서 대리자 클래스를 만들려면 다음을 가져옵니다.
AIAuthenticationDelegate.hand 클래스 헤더의 선언에 프로토콜을 추가하십시오. file:#수입 @인터페이스 AMZNGetProfile위임 : NSObject @end - 구현하다 요청 성공:for 당신의 AMZNAuthorizeUserDelegate. In 요청 성공:, 부르다 getProfile: 고객 프로를 검색하기 위해file. getProfile:, 좋다 AuthorizeUserForScopes:delegate:는 AIAuthenticationDelegate 프로토콜을 사용합니다.
– (void)requestDidSucceed:(APIResult *)apiResult {
// 사용자가 애플리케이션을 승인한 후의 코드
// 요청된 범위.// 새로 로드 view 사용자 식별 정보가 포함된 컨트롤러
// 이제 사용자가 성공적으로 로그인되었습니다.AMZN겟프로file대리인* 대리인 =
[[[AMZNGetProfile위임 할당] initWithParentController:parentView컨트롤러] 자동 릴리스];
[AIMobileLib getProfile:대리자];
}클래스 호출에 대리자 구현 헤더를 추가하세요. getProfile:. 외환amp르 :
#import “AMZNGetProfile대리인.h” - 구현하다 요청 성공: 당신을 위해 AMZN겟프로file대리자.
requestDidSucceed:있음 두 가지 주요 작업: 프로 검색file 데이터에서 API결과, 데이터를 UI에 전달합니다.
프로를 검색하려면file 데이터에서 API결과, 결과 속성에 액세스합니다. 에 대한 getProfile:응답, 해당 속성에는 사용자 pro에 대한 속성 값 사전이 포함됩니다.file 속성. 프로file 속성은 이름, 이메일, 그리고 USER_ID 프로를 위해file 범위 및
우편번호 를 위해 우편번호 범위.– (void)requestDidSucceed:(APIResult *)apiResult {
// 프로되기file 요청이 성공했습니다. 프로의 포장 풀기file 정보
// 부모에게 전달 view 제어 장치NSString* 이름 = [(NSDictionary*)apiResult.result
objectForKey:@”이름”];
NSString* 이메일 = [(NSDictionary*)apiResult.result
objectForKey:@”이메일”];
NSString* user_id = [(NSDictionary*)apiResult.result
objectForKey:@"user_id"];
NSString* postal_code = [(NSDictionary*)apiResult.result
objectForKey:@”우편번호”];// 데이터를 전달 view 제어 장치
} - 구현하다 요청 실패: 당신을 위해 AMZN겟프로file대리자.
요청 실패: 포함하다 API오류 오류에 대한 세부 정보가 포함 된 개체입니다. showLogInPageis 메인을 재설정하는 가상의 방법 view Amazon으로 로그인 버튼을 표시하는 컨트롤러입니다.– (void)requestDidFail:(APIError *)errorResponse {
// 프로 받기file 프로에 대한 요청이 실패했습니다.file 범위.
// 오류 코드 = kAIApplicationNotAuthorized인 경우,
// 사용자가 다시 로그인하도록 허용합니다.
if(errorResponse.error.code == kAIApplicationNotAuthorized) {
// 사용자 인증 버튼을 표시합니다.
[부모의View컨트롤러 showLogInPage];
}
또 다른 {
// 기타 오류 처리
[[[[UI경고View alloc] initWithTitle:@”” 메시지:[NSString
stringWithFormat:@”메시지에 오류가 발생했습니다: %@”,
errorResponse.error.message] 위임자:nil
cancelButtonTitle:@”OK”otherButtonTitles:nil] 자동 릴리스] 표시];
}
} - 구현하다 requestDidFail:for 당신의 AMZNAuthorizeUserDelegate.
– (void)requestDidFail:(APIError *)errorResponse {
NSString *message = errorResponse.error.message;
// 인증 실패 시 코드입니다. [[[[UI경고View alloc] initWithTitle:@”” 메시지:[NSString
stringWithFormat:@”메시지와 함께 사용자 인증 실패: %@”, errorResponse.error.message] 대리자:nil
cancelButtonTitle:@”OK”otherButtonTitles:nil] 자동 릴리스] 표시];
}10. 구현 신청 : 열기URL:sourceApplication:주석: 프로젝트의 클래스에서 UIApplicationDelegate 프로토콜(기본적으로 이는 AppDelegate클래스 프로젝트에서). 앱이 Amazon 로그인 페이지를 표시하고 사용자가 로그인을 완료하면 다음을 사용하여 앱으로 리디렉션됩니다. URL 앞서 등록한 앱을 Scheme합니다. 해당 리디렉션은 다음으로 전달됩니다. 신청 : 열기URL:sourceApplication:주석:, 반환하는 예 만약 URL 성공적으로 처리되었습니다. 핸들 열기URL:소스애플리케이션: Amazon 리디렉션으로 로그인을 처리하는 SDK 라이브러리 함수입니다. URL당신을위한 것입니다. 만약에 핸들 열기URL:sourceApplication:예를 반환합니다. 그 다음에는 URL 처리되었습니다.
– (BOOL)응용 프로그램:(UIApplication *)응용 프로그램
열려 있는URL: (NSURL *)url
소스애플리케이션:(NSString *)소스애플리케이션
주석:(id)주석
{
// 전달 url // 승인 코드를 구문 분석하기 위해 SDK로 url.
BOOL isValidRedirectSignInURL =
[AIMobileLib 핸들열기URL:url
sourceApplication :sour ceApplication) ;
if ( !isValidRedirect 기호URL)
아니오를 반환;
// 앱이 e를 처리하고 싶을 수도 있습니다. url 예를 반환합니다.
}메모: 이 방법은 iOS 9에서 더 이상 사용되지 않지만 이전 플랫폼 사용자에 대한 지원을 유지하려면 프로젝트에 포함되어야 합니다. 자세한 내용은 신청 : 열기URL:sourceApplication:주석:, 보다 UIApplicationDelegate 프로토콜 참조 developer.apple.com.
시작시 사용자 로그인 확인
사용자가 앱에 로그인하고 앱을 닫은 후 나중에 앱을 다시 시작해도 앱은 여전히 데이터를 검색 할 권한이 있습니다. 사용자는 자동으로 로그 아웃되지 않습니다. 시작할 때 앱이 아직 승인 된 경우 로그인 한 사용자를 표시 할 수 있습니다. 이 섹션에서는 사용 방법을 설명합니다.
getAccessTokenForScopes:withOverrideParams:대리자: 앱이 아직 승인되었는지 확인합니다.
- 생성하다 AMZNGetAccessTokenDelegate 수업. AMZNGetAccessTokenDelegate구현 그만큼 AI인증대리자 프로토콜을 작성하고 결과를 처리합니다.
getAccessTokenForScopes:withOverrideParams:대리자: 부르다. AI인증대리자 두 가지 방법이 포함되어 있습니다. 요청 성공: 그리고 요청 실패:. 요청 성공: 수신 API결과 토큰 데이터가 있는 객체 요청 실패: 수신 API오류 오류에 대한 정보가있는 개체.#수입 @interface AMZNGetAccessTokenDelegate :NSObject
@끝
클래스 호출에 대리자 구현 헤더를 추가하세요.
getAccessTokenForScopes:withOverrideParams:delegate:. 외환amp르 :#import “AMZNGetAccessTokenDelegate.h” - 앱 시작 시 전화
getAccessTokenForScopes:withOverrideParams:대리자: 응용 프로그램이 여전히 승인되었는지 확인합니다. getAccessTokenForScopes:withOverrideParams:대리자: Login with Amazon이 고객 전문가에 액세스하는 데 사용하는 원시 액세스 토큰을 검색합니다.file. 메서드가 성공하면 앱은 여전히 승인되고 getProfile: 성공해야합니다. getAccessTokenForScopes:withOverrideParams:대리자: 사용합니다 AI인증대리자 프로토콜과 동일한 방식으로 AuthorizeUserForScopes:위임:. 프로토콜을 구현하는 개체를 대리자 매개변수로 전달합니다.– (무효)checkIsUserSignedIn {
AMZNGetAccessTokenDelegate* 대리인 =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] 자동 해제];
NSArray *requestScopes =
[NSArray arrayWithObjects:@”프로file”, @”우편번호”, nil]; [AIMobileLib getAccessTokenForScopes:requestScopes withOverrideParams:nil 대리자:delegate];
} - 구현하다 요청 성공: 당신의 AMZNGetAccessTokenDelegate. 요청 성공: 임무는 하나다: 전화하는 것 getProfile:. 이 전amp르 콜 getProfile: 이전 섹션에서 선언한 것과 동일한 리스너를 사용합니다(6~8단계 참조).
#import “AMZNGetProfile대리인.h”
#수입– (void)requestDidSucceed:(APIResult *)apiResult {
// 액세스 토큰을 사용하기 위한 코드가 여기에 있습니다.// 애플리케이션에 범위에 대한 권한이 있으므로 다음을 수행할 수 있습니다.
[AIMobileLib getProfile:대리자];
// 사용자 pro를 얻습니다.file.
AMZN겟프로file위임* 위임 = [[[AMZNGetProfile위임 할당] initWithParentController:parentView컨트롤러] 자동 릴리스];
} - 구현하다 요청 실패: 당신의 AMZNGetAccessTokenDelegate.
요청 실패: 포함하다 API오류 오류에 대한 세부정보가 포함된 개체입니다. 오류가 발생하면 기본 설정을 재설정할 수 있습니다. view Amazon으로 로그인 버튼을 표시하는 컨트롤러입니다.– (void)requestDidFail:(APIError *)errorResponse {
// 액세스 토큰 검색 실패를 처리하는 코드입니다.
// 오류 코드 = kAIApplicationNotAuthorized인 경우 사용자를 허용합니다.
// 다시 로그인합니다.
if(errorResponse.error.code == kAIApplicationNotAuthorized) {
// Amazon 버튼으로 로그인을 표시합니다.
}
또 다른 {
// 기타 오류 처리
[[[[UI경고View alloc] initWithTitle:@”” 메시지:[NSString
stringWithFormat:@”메시지에서 오류가 발생했습니다: %@”, errorResponse.error.message] 대리자:nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] 자동 릴리스] 표시];
}
}
그만큼 명확한 승인 상태: 메소드는 사용자의 인증 데이터를 삭제합니다. AIMobileLib 로컬 데이터 저장소. 앱이 Pro를 검색하려면 사용자가 다시 로그인해야 합니다.file 데이터. 이 방법을 사용하여 사용자를 로그아웃하거나 앱의 로그인 문제를 해결합니다.
- 선언 AMZNLogoutDelegate. 구현한 클래스입니다.
AIAuthenticationDelegate프로토콜. 우리의 목적을 위해 우리는 클래스를 다음에서 상속받을 수 있습니다. NS객체:
#수입 @interface AMZNLogoutDelegate NSObject
@끝
클래스 호출에 대리자 구현 헤더를 추가하세요. 클리어AuthorizationState:. 예를 들어amp르 :
#import “AMZNLogoutDelegate.h” - 부르다 클리어AuthorizationState:.
사용자가 성공적으로 로그인하면 로그아웃 메커니즘을 제공하여 사용자가 인증 데이터를 지울 수 있습니다. 메커니즘은 하이퍼링크나 메뉴 항목일 수 있지만 이 시나리오에서는 예를 들어amp내가 만들거야 로그아웃버튼클릭메서드 로그아웃 버튼의 경우.– (IBAction)logoutButtonClicked:(id)sender {
AMZNLogoutDelegate* 대리자 = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLibclearAuthorizationState:delegate];
}유일한 매개변수는 명확한 승인 상태 이다 AI인증대리자 구현하는 요청 성공: 그리고 요청 실패:.
- 구현하다 요청 성공:. 이 메소드는 사용자 정보가 삭제될 때 호출됩니다. 그러면 로그아웃된 것으로 표시되어야 합니다.
– (void)requestDidSucceed:(APIResult *)apiResult {
// 사용자 인증 후 추가 로직
// 상태가 지워졌습니다.
[[[UI경고View alloc] initWithTitle:@”” 메시지:@”사용자가 로그아웃되었습니다.”
대리자:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] 표시];
} - 구현하다 요청 실패:. 어떤 이유로 사용자 정보를 캐시에서 지울 수 없는 경우 이 메서드가 호출됩니다. 이 경우 로그아웃 상태로 표시하면 안 됩니다.
– (void)requestDidFail:(APIError *)errorResponse {
// SDK 삭제 실패 후 추가 로직
// 인증 상태. [[[[UI경고View alloc] initWithTitle:@”” 메시지:[NSString
stringWithFormat:@”다음 메시지로 인해 사용자 로그아웃에 실패했습니다: %@”,
errorResponse.error.message] 위임자:nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] 자동 릴리스] 표시];
}
통합 테스트
iOS 디바이스 또는 시뮬레이터에서 앱을 시작하고 Amazon.com 자격 증명으로 로그인 할 수 있는지 확인합니다.
메모: iOS10 시뮬레이터에서 테스트할 때 AuthorizeUserForScopes 요청의 경우 애플리케이션의 APIKey가 유효하지 않다는 오류 메시지가 표시되거나,clearAuthorizationState 요청의 경우 알 수 없는 오류 코드가 표시될 수 있습니다. 이것은 Apple의 알려진 버그 이는 SDK가 키체인에 액세스하려고 할 때 발생합니다. Apple이 버그를 해결할 때까지 앱 대상의 기능 탭에서 앱에 대한 키체인 공유를 활성화하여 문제를 해결할 수 있습니다. 이 버그는 시뮬레이터에만 영향을 미칩니다. 해결 방법을 사용하지 않고도 실제 iOS10 장치에서 테스트할 수 있습니다.
iOS 버전 2.1.2용 Amazon 시작 안내서로 로그인 – 다운로드 [최적화 됨]
iOS 버전 2.1.2용 Amazon 시작 안내서로 로그인 – 다운로드