Setup Android & Verifikasi Backend
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sistem native Android digunakan
Judul bagian “Sistem native Android digunakan”Di Android, plugin ini menggunakan Standar Integritas Google Play API:
prepareIntegrityTokenselamaprepare()requestStandardIntegrityTokenuntukcreateAttestation()dancreateAssertion()
Persyaratan
Bagian berjudul “Persyaratan”- Aplikasi Android yang didistribusikan melalui ekosistem Google Play
- Jasa Google Play tersedia di perangkat
- Integritas Play API diaktifkan untuk aplikasi Anda
- Nomor proyek Google Cloud dikonfigurasi
Pengaturan Google
Bagian berjudul “Pengaturan Google”- Aktifkan Mainkan Integritas Permainan API di proyek Cloud Google Anda.
- Buka Konsol Permainan dan atur akses Integritas Permainan untuk aplikasi Anda.
- Berikan
cloudProjectNumberke plugin.
Capacitor konfigurasi
Bagian berjudul “Capacitor konfigurasi”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Anda juga dapat melewati cloudProjectNumber per panggilan dalam opsi metode.
Alur klien
Bagian berjudul “Alur Klien”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 integritas Play dan harus di-dekode di sisi server.
Alur Backend (Android)
Bagian berjudul “Alur Backend (Android)”Pendaftaran (createAttestation)
Bagian berjudul “Pendaftaran (createAttestation)”- Backend membuat kode unik
challenge. - Aplikasi memanggil
createAttestation({ keyId, challenge }). - Backend memanggil Google
decodeIntegrityTokenAPI. - Backend memverifikasi setidaknya:
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNamesama dengan ID aplikasi Android AndaappIntegrity.certificateSha256Digestmengandung digest sertifikat tanda tangan rilis Anda- verifikasi integritas sesuai dengan kebijakan keamanan Anda
Pertahanan permintaan (createAssertion)
Judul bagian “Pertahanan permintaan (createAssertion)”- Backend membuat token satu kali
payload. - Aplikasi memanggil
createAssertion({ keyId, payload }). - Backend memecahkan token dan memeriksa
requestHash === base64url(SHA256(payload)). - Tetapkan pengamanan ulang (single-use + TTL) dan kebijakan verifikasi integritas.
Skema Android
Judul bagian “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
Judul Bagian “Kontrak Payload Backend Minimal”Pendaftaran:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}Pernyataan:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Lanjutkan dari Pengaturan Android & Verifikasi Backend
Judul Bagian “Lanjutkan dari Pengaturan Android & Verifikasi Backend”Jika Anda menggunakan Pengaturan Android & Verifikasi Backend untuk merencanakan keamanan dan kelaikan, hubungkannya dengan Menggunakan @capgo/capacitor-app-attest untuk kemampuan asli dengan menggunakan @capgo/capacitor-app-attest, Enkripsi untuk detail implementasi dalam Enkripsi, Kemampuan Kompatibilitas untuk detail implementasi dalam Kemampuan Kompatibilitas, Capgo Scanner Keamanan untuk alur kerja produk dalam Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur kerja produk dalam Capgo Keamanan.