Saltare alla navigazione

Setup Android & Verifica Backend

GitHub

Su Android, questo plugin utilizza Standard di integrità di Google Play API:

  • prepareIntegrityToken durante prepare()
  • requestStandardIntegrityToken per createAttestation() e createAssertion()
  • App Android distribuita attraverso l'ecosistema di Google Play
  • Servizi Google disponibili sul dispositivo
  • Integrità Play API abilitata per la tua app
  • Numero del progetto Cloud Google configurato
  1. Abilita Gioca all'Integrità API in tuo progetto Cloud Google.
  2. Apre Console di Gioco e configura l'accesso all'Integrità di Gioco per il tuo app.
  3. Fornisci cloudProjectNumber al plugin.
capacitor.config.ts
plugins: {
AppAttest: {
cloudProjectNumber: '123456789012',
},
}

Potresti anche passare cloudProjectNumber a chiamata per opzioni del metodo.

Ciclo del client

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 sul lato server.

Flusso di lavoro backend (Android)

Flusso di lavoro backend (Android)

Registrazione (createAttestation)

Flusso di lavoro backend (crea attestazione)
  1. Il backend crea un token unico challenge.
  2. L'app chiama createAttestation({ keyId, challenge }).
  3. Il backend chiama Google decodeIntegrityToken API.
  4. Il backend verifica almeno:
    • requestDetails.requestHash === base64url(SHA256(challenge))
    • appIntegrity.packageName è uguale al tuo ID dell'applicazione Android
    • appIntegrity.certificateSha256Digest contiene il digest del certificato di firma di rilascio
    • i verifiche di integrità corrispondono alla tua politica di sicurezza
  1. Il backend crea un token di una sola volta payload.
  2. L'app chiama createAssertion({ keyId, payload }).
  3. Il backend decodifica il token e controlla requestHash === base64url(SHA256(payload)).
  4. Imposta la prevenzione della riproposta (uso singolo + TTL) e la politica di verifiche di integrità.
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 policy

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"
}

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 Utilizzando @capgo/capacitor-app-attest per la capacità nativa in Utilizzo di @capgo/capacitor-app-attest, Crittografia per il dettaglio di implementazione in Crittografia, Conformità per il dettaglio di implementazione in Conformità, Capgo Scanner di Sicurezza per il flusso di lavoro del prodotto in Capgo Scanner di Sicurezza, e Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza.