Pengaturan iOS & Verifikasi Backend
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
iOS menggunakan sistem native
Bab berjudul “iOS native system used”Pada iOS, plugin ini menggunakan Apple App Attest dari DeviceCheck framework.
Persyaratan
Bagian berjudul “Persyaratan”- iOS 14+
- Perangkat fisik disarankan untuk aliran validasi nyata
- Target Xcode dengan kemampuan App Attest diaktifkan
Pengaturan Xcode
Bagian berjudul “Pengaturan Xcode”- Buka target aplikasi iOS Anda di Xcode.
- Pergi ke Tanda Tangan & Kemampuan.
- Klik + Kemampuan dan tambahkan App Attest.
Tidak perlu izin iOS khusus di Info.plist untuk aplikasi Attest sendiri.
Alur Klien
Section titled “Client flow”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',});dan attestation.token and assertion.token Sertakan ke dalam backend Anda. Jangan melakukan validasi di aplikasi.
Bab berjudul “Alur Backend (iOS)”
Section titled “Backend workflow (iOS)”Registration (createAttestation)
Pembuatan Berjudul “Pendaftaran (createAttestation)”- Backend membuat satu kali
challenge. - App calls
createAttestation({ keyId, challenge }). - Backend memverifikasi Attestasi App Attest:
- rantai sertifikat valid dan diakar ke Apple App Attest
- identitas aplikasi sesuai dengan aplikasi Anda (“
bundleIdtim”) clientDataHashsamaSHA256(challenge)
- Keadaan kunci perangkat toko (“
keyIdpublik, dan metadata verifikasi).
Pertahanan permintaan (“createAssertion)
Pembuatan Berjudul “Pertahanan Permintaan (createAssertion)”- Backend membuat permintaan satu kali
payload(atau hash permintaan kanonik input). - App calls
createAssertion({ keyId, payload }). - Backend memverifikasi tanda tangan asertasi dengan materi kunci yang disimpan sebelumnya.
- Menggunakan perlindungan ulang dan pengecekan TTL nonce.
Sintaks iOS
Bab berjudul “Sintaks 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 policyKontrak kontrak backend minimal
Bab berjudul “Kontrak kontrak backend minimal”Pendaftaran:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Klaim:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Meneruskan dari Pengaturan iOS & Verifikasi Backend
Judul: Meneruskan dari Pengaturan iOS & Verifikasi BackendJika Anda menggunakan Pengaturan iOS & Verifikasi Backend untuk merencanakan keamanan dan kewenangan, hubungkannya dengan Menggunakan @capgo/capacitor-app-attest untuk kemampuan asli dalam Menggunakan @capgo/capacitor-app-attest, Enkripsi untuk detail implementasi dalam Enkripsi, Kewenangan untuk detail implementasi di Compliance, Capgo Scanner Keamanan untuk alur produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur produk di Capgo Keamanan.