iOS 설정 및 백엔드 확인
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 지시를 복사하세요.
설치, 동기화 및 소스 마크다운 가이드 포함
iOS 네이티브 시스템 사용iOS에서 이 플러그인은 애플 앱 아타스 에서 DeviceCheck 프레임워크.
요구 사항
iOS 14+- 실제 검증 흐름을 위해 물리적 장치 추천
- iOS 네이티브 시스템 사용
- Xcode target에 App Attest 기능이 활성화된 상태로 열기
Xcode 설정
Xcode 설정- iOS 앱 대상이 열린 Xcode에서 열기.
- 로 이동하세요. 인증 및 기능.
- 클릭 + 기능 및 추가 App Attest.
App Attest 자체에는 사용자 정의 iOS 권한이 필요하지 않습니다. Info.plist for App Attest 자체에는 사용자 정의 iOS 권한이 필요하지 않습니다.
클라이언트 흐름
클라이언트 흐름 섹션import { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare();
const attestation = await AppAttest.createAttestation({ keyId, challenge: 'backend-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId, payload: 'backend-request-payload',});보내기 attestation.token 그리고 assertion.token 앱에 유효성 검사를 하지 않고
백엔드 워크플로우 (iOS)
iOS 백엔드 워크플로우 섹션등록 (createAttestation)
등록 (createAttestation)- 백엔드가 일회용
challenge. - 앱이 호출
createAttestation({ keyId, challenge }). - 백엔드가 앱 신뢰 attestation을 확인합니다.:
- __CAPGO_KEEP_0__ 인증서 체인은 유효하고 애플 앱 attestation에-anchor됩니다.
- __CAPGO_KEEP_0__ 앱 식별 정보는 __CAPGO_KEEP_1__ (
bundleId, 팀)과 일치합니다. clientDataHash__CAPGO_KEEP_2__SHA256(challenge)
- __CAPGO_KEEP_2__
keyId__CAPGO_KEEP_0__ 장치 키 상태 (
, 공개 키 및 검증자 메타데이터)를 저장합니다.createAssertion)
__CAPGO_KEEP_3__ (- Section titled “__CAPGO_KEEP_3__ (createAssertion)”
payload백엔드가 일회용 - (또는 canonical request hash 입력).
createAssertion({ keyId, payload }). - 백엔드가 이전에 저장된 키 자료를 사용하여 서명 확인을 수행합니다.
- 재생 보호 및 nonce TTL 확인을 강제합니다.
iOS 스키마
iOS 스키마sequenceDiagram participant App as iOS App participant Plugin as AppAttest plugin participant Apple as Apple App Attest participant BE as Backend
BE->>App: one-time challenge App->>Plugin: prepare() Plugin->>Apple: generateKey() Apple-->>Plugin: keyId
App->>Plugin: createAttestation(keyId, challenge) Plugin->>Apple: attestKey(keyId, SHA256(challenge)) Apple-->>Plugin: attestation token Plugin-->>App: token + platform + format + keyId App->>BE: token + challenge + keyId BE->>BE: verify Apple attestation rules
BE->>App: one-time payload App->>Plugin: createAssertion(keyId, payload) Plugin->>Apple: generateAssertion(keyId, SHA256(payload)) Apple-->>Plugin: assertion token Plugin-->>App: token + platform + format + keyId App->>BE: token + payload + keyId BE->>BE: verify signature + replay policy최소 백엔드 페이로드 계약
등록:클립보드에 복사
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}클립보드에 복사
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}iOS 설정 및 백엔드 확인에서 계속하세요.
iOS 설정 및 백엔드 확인에서 계속하기iOS 설정 및 백엔드 확인을 사용하는 경우 iOS 설정 및 백엔드 확인 보안 및 규정 준수 계획을 위해 연결하세요. native capability을 사용하는 @capgo/capacitor-app-attest native capability을 사용하는 @capgo/capacitor-app-attest 암호화 암호화 구현 세부 사항 규정 준수 규정 준수 구현 세부 사항 Capgo 보안 스캐너 Capgo 보안 스캐너 Capgo 보안 Capgo 보안을 위한 제품 워크플로우.