Setup iOS & Verifikasi Backend
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sistem iOS native digunakan
Bagian berjudul “Sistem iOS native digunakan”Pada iOS, plugin ini menggunakan Attest App Apple dari DeviceCheck framework.
Persyaratan
Bagian berjudul “Persyaratan”- iOS 14+
- Diperlukan perangkat fisik untuk validasi alur yang sebenarnya
- 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 Tambahkan Kemampuan dan tambahkan App Attest.
Tidak ada izin iOS khusus yang diperlukan untuk App Attest itu sendiri. Info.plist aliran klien
Judul bagian “aliran klien”
Salin ke clipboardimport { 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 ke backend Anda. Jangan validasi mereka di aplikasi. assertion.token aliran backend (iOS)
Judul bagian “aliran backend (iOS)”
__CAPGO_KEEP_0__Registrasi (createAttestation)
Judul bagian “Registrasi (createAttestation)”- Backend membuat kode unik
challenge. - Aplikasi memanggil
createAttestation({ keyId, challenge }). - Backend memverifikasi Attest aplikasi:
- rantai sertifikat valid dan teranchor ke Apple App Attest
- identitas aplikasi sesuai dengan aplikasi (
bundleId, tim) clientDataHashsesuaiSHA256(challenge)
- Simpan status kunci perangkat (
keyId, kunci publik, dan metadata verifikator).
Minta perlindungan (createAssertion)
Bagian berjudul “Minta perlindungan (buat Assertion)”- Backend membuat satu kali
payload(atau hash permintaan kanonikal input). - Aplikasi memanggil
createAssertion({ keyId, payload }). - Backend memverifikasi tanda tangan asertasi dengan materi kunci yang disimpan sebelumnya.
- Menggunakan perlindungan ulang dan periksa TTL nonce.
Schema iOS
Bagian berjudul “Schema 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
Bagian berjudul “Kontrak kontrak backend minimal”Pendaftaran:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Pernyataan:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Lanjutkan dari Pengaturan iOS & Verifikasi Backend
Judul Bagian “Lanjutkan dari Pengaturan iOS & Verifikasi Backend”Jika Anda menggunakan Pengaturan iOS & Verifikasi Backend untuk merencanakan keamanan dan kinerja, hubungkannya dengan Menggunakan @capgo/capacitor-app-attest untuk kemampuan asli dalam Menggunakan @capgo/capacitor-app-attest, Enkripsi untuk detail implementasi dalam Enkripsi, Kepatuhan untuk detail implementasi di Kepatuhan, Capgo Scanner Keamanan untuk alur kerja produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur kerja produk di Capgo Keamanan.