내용으로 건너뛰기

iOS 설정 및 백엔드 검증

GitHub

iOS에서 사용하는 네이티브 시스템

iOS 네이티브 시스템 사용

iOS에서 이 플러그인은 Apple App Attest 에서 DeviceCheck 프레임워크

요구 사항

요구 사항
  • iOS 14 이상
  • 실제 검증 흐름을 위해 물리적 장치가 권장됩니다.
  • App Attest 기능이 활성화된 Xcode 대상
  1. 가기
  2. 인증 및 기능 클릭.
  3. + 기능 + 기능 추가 및 추가 앱 인증.

페이지/영역: 기업 제품/가격 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 위치: 페이지 enterprise.astro. 메시지 키 `enterprise_plugins_capgo_app_attest` (기업 플러그인 Capgo App Attest). Info.plist 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 보내기

등록 (createAttestation)

등록 (createAttestation)
  1. 백엔드가 일회용 challenge.
  2. 앱이 createAttestation({ keyId, challenge }).
  3. 백엔드가 앱 attestation (App Attest) 인증을 확인합니다:
    • 인증서 체인은 Apple App Attest와 연결된 것이고
    • 앱 ID가 앱 (bundleId팀)
    • clientDataHash 일치합니다 SHA256(challenge)
  4. 스토어 기기 키 상태 (keyId공개 키, 및 검증자 메타데이터).

보호 요청 (createAssertion)

__CAPGO_KEEP_0__
  1. 보호 요청 (createAssertion) payload 백엔드가 일회용
  2. (또는 canonical request hash 입력). createAssertion({ keyId, payload }).
  3. 앱이 호출
  4. 백엔드가 이전에 저장된 키 자료와 함께 서명 확인.

재생보호 및 nonce TTL 확인.

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

최소 백엔드 페이로드 계약

등록:

__CAPGO_KEEP_0__

{
"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__-앱 증명서를 사용하여 @capgo/capacitor-앱 증명서를 사용하여 native 기능을 for the native capability in Using @capgo/capacitor-app-attest, 암호화 구현 세부 정보 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-앱 증명서 법적 준수 법적 준수 Capgo 보안 스캐너 Capgo 보안 스캐너 Capgo 보안 Capgo 보안