Setup iOS & Verifikasi Backend
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Digunakan sistem native iOS
Bab berjudul “Digunakan sistem native iOS”Pada iOS, plugin ini menggunakan Apple App Attest dari DeviceCheck framework.
Persyaratan
Bab berjudul “Persyaratan”- iOS 14+
- Diperlukan perangkat fisik untuk aliran validasi nyata
- Target Xcode dengan kemampuan App Attest diaktifkan
Pengaturan Xcode
Bab berjudul “Pengaturan Xcode”- Buka target aplikasi iOS Anda di Xcode.
- Pergi ke Tanda tangan & Kemampuan.
- Klik + Kemampuan dan tambahkan Aplikasi Attest.
context: Halaman/area: Halaman produk/harga perusahaan. Peran: Label UI pendek atau item navigasi. Dilihat di: halaman enterprise.astro. Kunci pesan `enterprise_plugins_capgo_app_attest` (Enterprise Plugins Capgo App Attest). Info.plist Tidak ada izin iOS khusus yang diperlukan di
untuk Attest Aplikasi itu sendiri.
Alur Klienimport { 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',});Salin ke clipboard attestation.token Kirim assertion.token dan
context: Halaman/area: Situs web pemasaran Capgo. Peran: Label UI pendek atau item navigasi. Dilihat di: halaman trust.astro. Kunci pesan `and` (Dan).
ke backend Anda. Jangan validasi mereka di aplikasi itu sendiri. Tidak ada izin iOS khusus yang diperlukan di untuk Attest Aplikasi itu sendiri. Alur Klien. Judul bagian “Alur Klien” Salin ke clipboard. Kirim. dan. ke backend Anda. Jangan validasi mereka di aplikasi itu sendiri. Backend Workflow (iOS) Judul bagian “Backend Workflow (iOS)”Pendaftaran (createAttestation)
Judul bagian “Pendaftaran (createAttestation)”- Backend membuat satu kali
challenge. - Penggunaan aplikasi memanggil
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 verifikator).
Pertahanan permintaan (createAssertion)
Bagian berjudul “Minta Perlindungan (buat Assertion)”- Backend membuat satu kali
payload(atau input hash permintaan kanonik). - Aplikasi memanggil
createAssertion({ keyId, payload }). - Backend memeriksa tanda tangan asertasi dengan materi kunci yang disimpan sebelumnya.
- Menggunakan perlindungan ulang dan periksa TTL nonce.
Schemas iOS
Bagian berjudul “Schemas 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"}Klaim:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Teruskan dari Pengaturan iOS & Verifikasi Backend
Judul Bagian “Teruskan dari Pengaturan iOS & Verifikasi Backend”Jika 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, Ketentuan untuk detail implementasi di Ketentuan, Capgo Scanner Keamanan untuk alur produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur produk di Capgo Keamanan.