Passer à la navigation

Configuration Android & vérification backend

GitHub

Sur Android, ce plugin utilise Standard de l'intégrité Google Play API:

  • prepareIntegrityToken pendant prepare()
  • requestStandardIntegrityToken pour createAttestation() et createAssertion()
  • Application Android distribuée à travers l'écosystème Google Play
  • Services Google disponibles sur le dispositif
  • Intégrité Play API activée pour votre application
  • Numéro de projet Google Cloud configuré
  1. Activer Intégrité de jeu API dans votre projet Cloud Google.
  2. Ouvrez le console de jeu et configurez l'accès à l'intégrité de jeu pour votre application.
  3. Fournir cloudProjectNumber au plugin.
capacitor.config.ts
plugins: {
AppAttest: {
cloudProjectNumber: '123456789012',
},
}

Vous pouvez également passer cloudProjectNumber par appel dans les options de méthode.

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 s'agit d'un jeton d'intégrité Play et doit être décodé côté serveur.

  1. L'arrière-plan crée un code d'accès unique challenge.
  2. L'application appelle createAttestation({ keyId, challenge }).
  3. L'arrière-plan appelle Google decodeIntegrityToken API.
  4. L'arrière-plan vérifie au minimum :
    • requestDetails.requestHash === base64url(SHA256(challenge))
    • appIntegrity.packageName équivaut à votre identifiant d'application Android
    • appIntegrity.certificateSha256Digest contient votre digest de certificat de signature de version
    • les verdicts d'intégrité correspondent à votre politique de sécurité
  1. Le serveur crée un jeton à usage unique payload.
  2. L'application appelle createAssertion({ keyId, payload }).
  3. Le serveur décode le jeton et vérifie requestHash === base64url(SHA256(payload)).
  4. Appliquer la prévention de replay (utilisation unique + TTL) et la politique de verdicts d'intégrité.
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

Inscription :

{
"platform": "android",
"format": "google-play-integrity-standard",
"keyId": "string",
"challenge": "string",
"token": "string"
}

Énoncé :

{
"platform": "android",
"format": "google-play-integrity-standard",
"keyId": "string",
"payload": "string",
"token": "string"
}

Continuer depuis la configuration Android et la vérification du backend

Section intitulée “Continuer depuis la configuration Android et la vérification du backend”

Si vous utilisez Configuration Android et vérification du backend pour planifier la sécurité et la conformité, connectez-le avec En utilisant @capgo/capacitor-app-attest pour la capacité native en utilisant @capgo/capacitor-app-attest, Chiffrement pour le détail d'implémentation en Chiffrement, Conformité pour le détail d'implémentation en Conformité, Capgo Scanner de Sécurité pour le flux de travail du produit en Capgo Scanner de Sécurité, et Capgo Sécurité pour le flux de travail du produit en Capgo Sécurité.