Pengaturan Android & Verifikasi Backend
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sistem native Android digunakan
Bagian berjudul “Sistem native Android digunakan”Pada 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 Integritas Play API di proyek Google Cloud Anda.
- Buka Console Play dan konfigurasi akses Integritas Play untuk aplikasi Anda.
- Sediakan
cloudProjectNumberke plugin.
Capacitor konfigurasi
Bagian berjudul “Capacitor konfigurasi”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Anda juga dapat melewati cloudProjectNumber per panggilan dalam opsi metode.
Aliran klien
Bagian berjudul “Aliran 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 Integrasi Play dan harus diurai di sisi server.
Alur Kerja Backend (Android)
Judul Bagian “Alur Kerja Backend (Android)”Pendaftaran (createAttestation)
Judul Bagian “Pendaftaran (createAttestation)”- Backend membuat kode satu kali
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 tanda tangan sertifikat rilis Anda- kesimpulan integritas sesuai dengan kebijakan keamanan Anda
Perlindungan permintaan (createAssertion)
Judul bagian “Perlindungan permintaan (createAssertion)”- Backend membuat token satu kali
payload. - Aplikasi memanggil
createAssertion({ keyId, payload }). - Backend memecahkan token dan memeriksa
requestHash === base64url(SHA256(payload)). - Menggunakan kebijakan integritas untuk mencegah ulang pemakaian (single-use + TTL).
Schema Android
Judul bagian “Schema 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 minimal payload backend
Judul bagian “Kontrak minimal payload backend”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 kinerja, hubungkannya dengan Menggunakan @capgo/capacitor-app-attest untuk kemampuan asli dalam Menggunakan @capgo/capacitor-app-attest, Enkripsi untuk detail implementasi dalam Enkripsi, Kepatuhan untuk detail implementasi di Kepatuhan, Capgo Scanner Keamanan untuk alur produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur produk di Capgo Keamanan.