Pengaturan Android & Verifikasi Backend
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sistem native Android digunakan
Bab berjudul “Sistem native Android digunakan”Pada Android, plugin ini menggunakan Standar Keamanan Integrasi Google Play API:
prepareIntegrityTokenselamaprepare()requestStandardIntegrityTokenuntukcreateAttestation()dancreateAssertion()
Persyaratan
Bab yang 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 yang dikonfigurasi
Pengaturan Google
Bab yang berjudul “Pengaturan Google”- Aktifkan Integritas Bermain API dalam proyek Cloud Google Anda.
- Buka Console Bermain dan atur akses Integritas Bermain untuk aplikasi Anda.
- Berikan
cloudProjectNumberakses
Konfigurasi Capacitor
Judul bagian “Capacitor config”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Anda juga dapat melewati cloudProjectNumber per panggilan dalam opsi metode.
Alur Klien
Alur Klienimport { 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 di-dekode di sisi server.
Alur Backend (Android)
Judul Bagian “Alur Backend (Android)”Pendaftaran (createAttestation)createAttestation)
Backend membuat satu kali- Aplikasi memanggil
challenge. - Backend memanggil Google
createAttestation({ keyId, challenge }). - __CAPGO_KEEP_0__.
decodeIntegrityTokenAPI. - __CAPGO_KEEP_0__.
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNamesama dengan ID aplikasi Android AndaappIntegrity.certificateSha256Digestmengandung tanda tangan sertifikat rilis Anda- verifikasi integritas sesuai dengan kebijakan keamanan Anda
Minta perlindungan (createAssertion)
Bagian berjudul “Minta perlindungan (createAssertion)”- Backend membuat token satu kali
payload. - Aplikasi memanggil
createAssertion({ keyId, payload }). - Backend menerjemahkan token dan memeriksa
requestHash === base64url(SHA256(payload)). - Tegakkan pencegahan ulang (penggunaan tunggal + 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 minimal payload backend
Judul bagian “Kontrak minimal payload backend”Pendaftaran:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}Klaim:
{ "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 keterlaksanaan, hubungkannya dengan Menggunakan @capgo/capacitor-app-attest untuk kemampuan asli di Menggunakan @capgo/capacitor-app-attest, Enkripsi untuk detail implementasi di Enkripsi, Komitmen untuk detail implementasi di Komitmen, Capgo Scanner Keamanan untuk alur kerja produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur kerja produk di Capgo Keamanan.