Configurazione Android & Verifica Backend
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Sistema nativo Android utilizzato
Sezione intitolata “Sistema nativo Android utilizzato”Su Android, questo plugin utilizza Google Play Integrity Standard API:
prepareIntegrityTokenduranteprepare()requestStandardIntegrityTokenpercreateAttestation()ecreateAssertion()
Requisiti
Sezione intitolata “Requisiti”- App Android distribuita attraverso l'ecosistema di Google Play
- Servizi Google Play disponibili sul dispositivo
- Play Integrity API abilitato per la tua app
- Numero del progetto Google Cloud configurato
Configurazione Google
Sezione intitolata “Configurazione Google”- Abilita Play Integrity API nel tuo progetto Google Cloud.
- Apri il Console di Play e configura l'accesso a Play Integrity per la tua app.
- Fornisci
cloudProjectNumberal plugin.
Capacitor config
Sezione intitolata “Capacitor config”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Puoi anche passare cloudProjectNumber per chiamata in opzioni di metodo.
Flusso del client
Sezione intitolata “Flusso del client”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 è un token di integrità Play e deve essere decodificato dal lato server.
Flusso di lavoro backend (Android)
Sezione intitolata “Flusso di lavoro backend (Android)”Registrazione (createAttestation)
Sezione intitolata “Registrazione (createAttestation)”- Backend crea un codice unico
challenge. - L'app chiama
createAttestation({ keyId, challenge }). - Backend chiama Google
decodeIntegrityTokenAPI. - Backend verifica almeno:
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNameè uguale all'ID dell'applicazione AndroidappIntegrity.certificateSha256Digestcontiene il digest del certificato di firma di rilascio- gli esiti di integrità corrispondono alla politica di sicurezza
Protezione della richiesta (createAssertion)
Sezione intitolata “Protezione della richiesta (createAssertion)”- Backend crea un token unico
payload. - L'app chiama
createAssertion({ keyId, payload }). - Backend decodifica il token e controlla
requestHash === base64url(SHA256(payload)). - Imposta la prevenzione della riproduzione (uso singolo + TTL) e la politica di verdetto di integrità.
Schema Android
Sezione intitolata “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 policyContratto di payload backend minimo
Sezione intitolata “Contratto di payload backend minimo”Registrazione:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}Assertione:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Prosegui dall'installazione di Android e dalla verifica del backend
Sezione intitolata “Prosegui dall'installazione di Android e dalla verifica del backend”Se stai utilizzando Installazione di Android e verifica del backend per pianificare la sicurezza e la conformità, connettilo con Utilizza @capgo/capacitor-app-attest per la capacità nativa in Utilizza @capgo/capacitor-app-attest, Crittografia per il dettaglio di implementazione in Crittografia, Conformità per il dettaglio di implementazione in Conformità, Capgo Scansionatore di Sicurezza per il flusso di lavoro del prodotto in Capgo Scansionatore di Sicurezza, e Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza.