__CAPGO_KEEP_0__
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sistem iOS native digunakan
Bagian berjudul “Sistem iOS asli digunakan”Pada iOS, plugin ini menggunakan Apple App Attest dari DeviceCheck framework.
Persyaratan
Bagian berjudul “Persyaratan”- iOS 14+
- Perangkat fisik direkomendasikan 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 dan Kemampuan.
- Klik Kemampuan dan tambahkan Attest Aplikasi.
Tidak ada izin iOS khusus yang diperlukan di Info.plist untuk Attest Aplikasi itu sendiri.
Aliran Klien
Bagian berjudul “Aliran Klien”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',});Kirim attestation.token dan assertion.token ke backend Anda. Tidak validasi mereka di aplikasi.
Alur Backend (iOS)
Bagian berjudul “Alur Backend (iOS)”Pendaftaran (createAttestation)
Bagian berjudul “Pendaftaran (createAttestation)”- Backend membuat kode unik
challenge. - Aplikasi memanggil
createAttestation({ keyId, challenge }). - Backend memverifikasi Attest aplikasi:
- rantai sertifikat valid dan teranak ke Apple App Attest
- identitas aplikasi sesuai dengan aplikasi Anda (
bundleId, tim clientDataHashmatchesSHA256(challenge)
- Simpan status kunci perangkat (
keyId, kunci publik, dan metadata verifikasi).
Minta perlindungan (createAssertion)
Bagian berjudul “Minta perlindungan (createAssertion)”- Backend membuat satu-satunya
payload(atau input hash permintaan kanonik). - Aplikasi memanggil
createAssertion({ keyId, payload }). - Backend memverifikasi tanda tangan asertasi dengan bahan kunci yang disimpan sebelumnya.
- Tetapkan perlindungan ulang dan periksa TTL nonce.
iOS schema
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 payload backend minimal
Bagian berjudul “Kontrak payload 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 Setup iOS & Verifikasi Backend
Bagian berjudul “Lanjutkan dari Setup iOS & Verifikasi Backend”Jika Anda menggunakan Setup 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, Kinerja untuk detail implementasi dalam Kinerja, Capgo Scanner Keamanan untuk alur kerja produk dalam Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur kerja produk dalam Capgo Keamanan.