Setup Android & Verifikasi Backend
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Sistem native Android yang digunakan
Bagian berjudul “Sistem native Android yang digunakan”Di Android, plugin ini menggunakan Standar Google Play Integrity API:
prepareIntegrityTokenselamaprepare()requestStandardIntegrityTokenuntukcreateAttestation()dancreateAssertion()
Persyaratan
Bagian berjudul “Persyaratan”- Aplikasi Android yang didistribusikan via ekosistem Google Play
- Google Play services tersedia di perangkat
- Play Integrity API aktif untuk aplikasi Anda
- Nomor proyek Google Cloud sudah dikonfigurasi
Setup Google
Bagian berjudul “Setup Google”- Aktifkan Play Integrity API di proyek Google Cloud Anda.
- Buka Play Console dan atur akses Play Integrity untuk aplikasi Anda.
- Berikan
cloudProjectNumberke plugin.
Konfigurasi Capacitor
Bagian berjudul “Konfigurasi Capacitor”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Anda juga bisa meneruskan cloudProjectNumber per panggilan dalam opsi metode.
Alur client
Bagian berjudul “Client flow”import { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare({ cloudProjectNumber: '123456789012',});
const attestation = await AppAttest.createAttestation({ keyId, challenge: 'backend-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId, payload: 'backend-request-payload',});token adalah token Play Integrity dan harus didekode di sisi server.
Workflow Backend (Android)
Bagian berjudul “Workflow Backend (Android)”Registrasi (createAttestation)
Bagian berjudul “Registrasi (createAttestation)”- Backend membuat sekali pakai
challenge. - App memanggil
createAttestation({ keyId, challenge }). - Backend memanggil Google
decodeIntegrityTokenAPI. - Backend memverifikasi minimal:
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNamesama dengan Android application id AndaappIntegrity.certificateSha256Digestberisi release signing cert digest Anda- verdict integritas sesuai kebijakan keamanan Anda
Perlindungan request (createAssertion)
Bagian berjudul “Request protection (createAssertion)”- Backend membuat sekali pakai
payload. - App memanggil
createAssertion({ keyId, payload }). - Backend mendekode token dan memeriksa
requestHash === base64url(SHA256(payload)). - Terapkan pencegahan replay (single-use + TTL) dan kebijakan verifikasi integritas.
Skema Android
Bagian berjudul “Skema Android”sequenceDiagram participant App as Android App participant Plugin as AppAttest plugin participant PlaySDK as Play Integrity SDK participant BE as Backend participant Google as decodeIntegrityToken API
App->>Plugin: prepare(cloudProjectNumber) Plugin->>PlaySDK: prepareIntegrityToken() PlaySDK-->>Plugin: provider handle (keyId)
BE->>App: one-time challenge App->>Plugin: createAttestation(keyId, challenge) Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash) PlaySDK-->>Plugin: integrity token Plugin-->>App: token + platform + format + keyId App->>BE: token + challenge + keyId BE->>Google: decodeIntegrityToken(token) Google-->>BE: decoded payload BE->>BE: verify requestHash + app identity + verdicts
BE->>App: one-time payload App->>Plugin: createAssertion(keyId, payload) Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash) PlaySDK-->>Plugin: integrity token App->>BE: token + payload + keyId BE->>Google: decodeIntegrityToken(token) Google-->>BE: decoded payload BE->>BE: verify requestHash + replay policyKontrak payload backend minimal
Bagian berjudul “Kontrak payload backend minimal”Registrasi:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}Asersi:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Lanjutkan dari Android Setup & Backend Verification
Bagian berjudul “Lanjutkan dari Android Setup & Backend Verification”Jika Anda menggunakan Setup Android & Verifikasi Backend 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.