Impostazione Android & Verifica del Backend
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
L'ambiente nativo Android utilizzato
Sottosezione intitolata “L'ambiente nativo Android utilizzato”Sulla piattaforma Android, questo plugin utilizza Lo standard di integrità di Google Play API:
prepareIntegrityTokenduranteprepare()requestStandardIntegrityTokenpercreateAttestation()ecreateAssertion()
Requisiti
Sezione intitolata “Requisiti”- App Android distribuita attraverso l'ecosystem di Google Play
- Servizi Google Play disponibili sul dispositivo
- Play Integrity API abilitato per il tuo app
- Numero di progetto Cloud Google configurato
Configurazione Google
Sezione intitolata “Configurazione Google”- Abilita Play Integrity API nella tua progetto Cloud Google.
- Apri il Console di Gioco e configura l'accesso a Play Integrity per la tua app.
- Fornisci
cloudProjectNumberai plugin.
Capacitor configurazione
Sottosezione intitolata “Capacitor config”plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Copia nel portapenne cloudProjectNumber per chiamata nelle opzioni del metodo.
Flusso del client
Section titled “Client flow”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 sul lato server.
Ciclo di lavoro backend (Android)
Sottosezione intitolata “Ciclo di lavoro backend (Android)”Registrazione (createAttestation)
Sottosezione intitolata “Registrazione (createAttestation)”- Backend crea un token 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 tuo certificato di firma rilascio- verdetti di integrità corrispondono alla tua politica di sicurezza
Richiesta protezione (createAssertion)
Sezione intitolata “Richiesta protezione (createAssertion)”- Backend crea un token unico
payload. - L'app chiama
createAssertion({ keyId, payload }). - Il backend decodifica il token e verifica
requestHash === base64url(SHA256(payload)). - Prevenire la riproduzione (singola utilizzo + TTL) e 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"}Affermazione:
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Continua da Android Setup & Verifica del backend
Sezione intitolata “Continua da Android Setup & Verifica del backend”Se stai utilizzando Android Setup & 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, Encryption per l'implementazione dettagliata in Encryption, Compliance per l'implementazione dettagliata in Compliance, Capgo Scanner di Sicurezza per il workflow del prodotto in Capgo Scanner di Sicurezza, e Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza.