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 Play disponibles sur le dispositif
  • Play Integrity API enabled for your app
  • Numéro de projet Cloud Google configuré

Configuration Google

Activer
  1. Exigences 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 aux paramètres du plugin.
capacitor.config.ts
plugins: {
AppAttest: {
cloudProjectNumber: '123456789012',
},
}

Vous pouvez également passer cloudProjectNumber par appel en 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. Le backend crée un jeton temporaire challenge.
  2. L'application appelle createAttestation({ keyId, challenge }).
  3. Le backend appelle Google decodeIntegrityToken API.
  4. Le backend vérifie au minimum :
    • requestDetails.requestHash === base64url(SHA256(challenge))
    • appIntegrity.packageName correspond à 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é

Demandez une protection (createAssertion)createAssertion)

Section intitulée « Demandez une protection (createAssertion) »
  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. Appliquez 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"
}

Affirmation :

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

Continuez de la configuration d'Android et de la vérification du backend

Section intitulée “Continuez de la configuration d'Android et de la vérification du backend”

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