iOS 설정 및 백엔드 검증
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사하세요.
iOS에서 사용하는 네이티브 시스템
제목 ‘iOS 네이티브 시스템 사용’iOS에서 이 플러그인은 Apple App Attest 에서 DeviceCheck 프레임워크.
필요 조건
필요 조건 섹션- iOS 14 이상
- 실제 인증 흐름을 위해 물리적 장치가 권장됩니다.
- App Attest 기능이 활성화된 Xcode 대상
Xcode 설정
필요 조건 섹션- 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) 확인:
- 인증서 chain이 유효하고 Apple App Attest에 anchor된 경우
- 앱 ID가 앱 (
bundleId, 팀) clientDataHash일치합니다SHA256(challenge)
- 스토어 기기 키 상태 (
keyId, 공개 키, 및 verifier 메타데이터).
요청 보호 (createAssertion)
Request protection (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 설정 및 백엔드 검증을 사용하여 보안 및 규정 준수를 계획하고 있습니다. @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-app-attest를 사용하여 Using @capgo/capacitor-app-attest for the native capability in Using @capgo/capacitor-app-attest, 암호화 암호화 법적 준수 법적 준수에 대한 구현 세부 정보 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로우에 대한 Capgo 보안 Capgo 보안의 제품 워크플로우에 대한