iOS 설정 및 백엔드 확인
이 플러그인에 대한 설치 단계와 전체 마크다운 가이드를 포함한 설정 프롬프트 복사하기
iOS에서 사용하는 네이티브 시스템
iOS 네이티브 시스템 사용하는 부분iOS에서 이 플러그인은 애플 앱 아타스 에서 DeviceCheck 프레임워크.
요구 사항
요구 사항 섹션- iOS 14+
- 실제 검증 흐름을 위해 물리 장치가 권장됩니다.
- App Attest 기능이 활성화된 Xcode 대상
Xcode 설정
Xcode에서 iOS 앱 대상を開습니다.- 다음으로 이동하세요.
- 인증 및 기능 클릭.
- 기능 추가 능력 그리고 추가 앱 증명.
iOS에서 사용할 수 있는 커스텀 권한이 없습니다. Info.plist 앱 증명 자체에 대해.
클라이언트 흐름
제목이 '클라이언트 흐름'인 섹션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 (App Attest) 검증:
- 인증서 체인은 유효하고 Apple App Attest에-anchor
- 앱 식별 정보는 앱 (
bundleId, 팀)과 일치합니다. clientDataHash일치SHA256(challenge)
- 스토어 기기 키 상태 (
keyId, 공개 키 및 검증자 메타데이터).
요청 보호 (createAssertion)
Request 보호 (createAssertion)- 백엔드가 일회용
payload(또는 canonical request hash 입력). - 앱이 호출
createAssertion({ keyId, payload }). - 백엔드가 이전에 저장된 키 자료와 함께 확인 서명 확인.
- 재생보호 강제 및 nonce TTL 검사.
iOS 스키마
Section titled “iOS schema”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최소 백엔드 페이로드 계약
Section titled “Minimal backend payload contract”등록:
{ "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 설정 및 백엔드 확인에서 계속하기 제목Capgo를 사용 중이라면 iOS 설정 및 백엔드 확인 보안 및 규정 준수 계획을 위해 연결하세요. @capgo/capacitor-app-attest를 사용하여 Capgo를 사용하여 @capgo/capacitor-app-attest를 사용하는 암호화 암호화 구현 세부 사항 [__CAPGO_KEEP_0__] 준수 __CAPGO_KEEP_0__ 준수 구현 세부 사항에 대해 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로에 대해 Capgo 보안 Capgo 보안의 제품 워크플로에 대해