Panduan Memulai
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-app-attest`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/app-attest/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalasi
Bagian berjudul “Instalasi”Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-app-attest` plugin in my project.Jika Anda lebih memilih Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti petunjuk khusus platform di bawah ini:
-
Instal package
Jendela terminal bun add @capgo/capacitor-app-attest -
Sinkronkan proyek native
Jendela terminal bunx cap sync -
Konfigurasikan persyaratan platform
- Selesai Setup iOS untuk kapabilitas App Attest dan alur verifikasi backend.
- Selesai Setup Android untuk Play Integrity Standard dan alur verifikasi backend.
Mulai cepat
Bagian berjudul “Mulai cepat”import { AppAttest } from '@capgo/capacitor-app-attest';
const support = await AppAttest.isSupported();if (!support.isSupported) throw new Error('Attestation unavailable');
const prepared = await AppAttest.prepare();const attestation = await AppAttest.createAttestation({ keyId: prepared.keyId, challenge: serverNonce,});await sendAttestationToBackend(attestation);Contoh: assert request terautentikasi
Bagian berjudul “Contoh: assert request terautentikasi”const assertion = await AppAttest.createAssertion({ keyId: storedKeyId, payload: requestHash,});Kesalahan umum
Bagian berjudul “Kesalahan umum”- Perlu verifikasi backend: jangan hanya percaya attestation blob di perangkat, validasi di server Anda.
- Nomor proyek Play Integrity: Android Standard API memerlukan nomor proyek Google Cloud dari README.
- Penyimpanan kunci: gunakan
storeKeyId()dan hapus saat logout untuk menghindari kunci usang.
Mengapa menggunakan plugin ini
Bagian berjudul “Mengapa menggunakan plugin ini”Plugin ini menyediakan satu API lintas platform dengan tetap menjaga keamanan platform native:
- iOS: Apple App Attest (
DeviceCheck) - Android: Google Play Integrity Standard API
- Tanpa skema kriptografi client-side kustom
- Output ternormalisasi untuk pengecekan backend
Penggunaan
Bagian berjudul “Usage”import { AppAttest } from '@capgo/capacitor-app-attest';
const support = await AppAttest.isSupported();if (!support.isSupported) { throw new Error(`Attestation not supported on ${support.platform}`);}
const prepared = await AppAttest.prepare();
const registration = await AppAttest.createAttestation({ keyId: prepared.keyId, challenge: 'backend-one-time-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId: prepared.keyId, payload: 'backend-one-time-request-payload',});
console.log(registration.platform, registration.format, registration.token);console.log(assertion.platform, assertion.format, assertion.token);Bentuk respons terpadu
Bagian berjudul “Format respons terpadu”createAttestation() dan createAssertion() mengembalikan field kunci yang sama pada iOS dan Android:
| Kolom | Tipe | Deskripsi |
|---|---|---|
platform | 'ios' | 'android' | 'web' | Platform Native yang menghasilkan token |
format | AttestationFormat | apple-app-attest atau google-play-integrity-standard |
keyId | string | Handle Key/provider yang digunakan untuk attestation |
token | string | Token untuk verifikasi di backend Anda |
Persyaratan backend
Bagian berjudul “Persyaratan Backend”Attestation hanya berguna jika diverifikasi di sisi server.
- Jangan pernah percaya hasil sukses hanya dari sisi client.
- Minta nilai challenge/payload sekali pakai dari backend Anda.
- Verifikasi
token, identitas aplikasi, dan proteksi replay di logika backend.
Gunakan panduan backend khusus platform berikut:
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Panduan Memulai untuk merencanakan keamanan dan kepatuhan, hubungkan dengan Menggunakan @capgo/capacitor-app-attest untuk kapabilitas native saat menggunakan @capgo/capacitor-app-attest, Enkripsi untuk detail implementasi pada Encryption, Kepatuhan untuk detail implementasi pada Compliance, Capgo Pemindai Keamanan untuk alur kerja produk di Capgo Security Scanner, dan Keamanan Capgo untuk alur kerja produk di Capgo Security.