Configurazione Android e verifica del 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 Standard di integrità di Google Play API:
prepareIntegrityTokenduranteprepare()requestStandardIntegrityTokenpercreateAttestation()ecreateAssertion()
Requisiti
Sezione intitolata “Requisiti”- App Android distribuita tramite l'ecosistema Google Play
- Google Play services 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 Play Console e configura l'accesso a Play Integrity per la tua app.
- Fornisci
cloudProjectNumberal plugin.
Configurazione Capacitor
Sezione intitolata “config Capacitor”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Puoi anche passare cloudProjectNumber per chiamata nelle opzioni del metodo.
Flusso client
Sezione intitolata “Flusso 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 Play Integrity e deve essere decodificato lato server.
Workflow backend (Android)
Sezione intitolata “Workflow backend (Android)”Registrazione (createAttestation)
Sezione intitolata “Registrazione (createAttestation)”- Il backend crea un challenge monouso
challenge. - L'app chiama
createAttestation({ keyId, challenge }). - Il backend chiama Google
decodeIntegrityTokenAPI. - Il backend verifica almeno:
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNamecorrisponde al tuo application id AndroidappIntegrity.certificateSha256Digestcontiene il digest del certificato di firma di release- i verdetti di integrità corrispondono alla tua policy di sicurezza
Protezione della richiesta (createAssertion)
Sezione intitolata “Protezione della richiesta (createAssertion)”- Il backend crea un challenge monouso
payload. - L'app chiama
createAssertion({ keyId, payload }). - Il backend decodifica il token e verifica
requestHash === base64url(SHA256(payload)). - Applica la prevenzione del replay (uso singolo + TTL) e la policy sul verdetto di integrità.
Schema Android
Sezione: “Android schema”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 payload backend minimo
Sezione: “Contratto minimo del payload backend”Registrazione:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}Asserzione:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Continua da Android Setup & Backend Verification
Sezione intitolata “Continua da Android Setup & Backend Verification”Se stai usando Configurazione Android & Verifica del backend per pianificare sicurezza e compliance, collegalo a Utilizzo di @capgo/capacitor-app-attest per la funzionalità nativa in Utilizzo di @capgo/capacitor-app-attest, Crittografia per i dettagli di implementazione della crittografia, Conformità per i dettagli di implementazione in Compliance, Security Scanner di Capgo per il workflow di prodotto in Capgo Security Scanner, e Sicurezza Capgo per il workflow di prodotto in Capgo Security.