Configuration Android et vérification backend
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Système Android natif utilisé
Section intitulée « Système natif Android utilisé »Sur Android, ce plugin utilise Norme d’intégrité Google Play API:
prepareIntegrityTokenlors deprepare()requestStandardIntegrityTokenpourcreateAttestation()etcreateAssertion()
Prérequis
Section intitulée « Prérequis »- Application Android distribuée via l’écosystème Google Play
- Services Google Play disponibles sur l’appareil
- Play Integrity API activé pour votre application
- Numéro de projet Google Cloud configuré
Configuration Google
Section intitulée « Configuration Google »- Activer Play Integrity API dans votre projet Google Cloud.
- Ouvrez Play Console et configurez l’accès à Play Integrity pour votre application.
- Fournir
cloudProjectNumberau plugin.
Configuration Capacitor
Section intitulée « config Capacitor »plugins: { AppAttest: { cloudProjectNumber: '123456789012', },}Vous pouvez également passer cloudProjectNumber par appel dans les options de la méthode.
Flux client
Section intitulée « Flux 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 est un token Play Integrity et doit être décodé côté serveur.
Workflow backend (Android)
Section intitulée « Workflow backend (Android) »Enregistrement (createAttestation)
Section intitulée « Enregistrement (createAttestation) »- Le backend crée un jeton à usage unique
challenge. - L'app appelle
createAttestation({ keyId, challenge }). - Le backend appelle Google
decodeIntegrityTokenAPI. - Le backend vérifie au minimum :
requestDetails.requestHash === base64url(SHA256(challenge))appIntegrity.packageNameest égal à l'ID de votre application AndroidappIntegrity.certificateSha256Digestcontains your release signing cert digest- integrity verdicts match your security policy
Protection de la requête (createAssertion)
Section intitulée « Protection de la requête (createAssertion) »- Le backend crée un jeton à usage unique
payload. - L'app appelle
createAssertion({ keyId, payload }). - Le backend décode le token et vérifie
requestHash === base64url(SHA256(payload)). - Appliquez la prévention du replay (usage unique + TTL) et la politique de verdict d'intégrité.
Schéma Android
Section intitulée « 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 policyContrat minimal de payload backend
Section intitulée « Contrat minimal de payload backend »Enregistrement :
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "challenge": "string", "token": "string"}Assertion :
{ "platform": "android", "format": "google-play-integrity-standard", "keyId": "string", "payload": "string", "token": "string"}Poursuivre depuis Configuration Android & Vérification côté serveur
Section intitulée « Poursuivre depuis Configuration Android & Vérification côté serveur »Si vous utilisez Configuration Android & Vérification côté serveur pour planifier la sécurité et la conformité, connectez-l’à Utiliser @capgo/capacitor-app-attest pour la capacité native dans la page « Utiliser @capgo/capacitor-app-attest », Chiffrement pour les détails d'implémentation du chiffrement, Conformité pour les détails d'implémentation de la conformité, Scanner de sécurité Capgo pour le workflow produit dans Capgo Security Scanner, et Capgo et la sécurité pour le workflow produit dans Capgo Security.