Passer à la navigation

Getting Started

GitHub

Vous pouvez utiliser notre configuration assistée par l'IA pour installer le plugin. Ajoutez les Capgo compétences à votre outil IA à l'aide de la commande suivante :

Fenêtre de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Ensuite, utilisez la prompt suivante :

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-app-attest` plugin in my project.

Si vous préférez la configuration manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à la plateforme ci-dessous.

  1. Installer le package

    Fenêtre de terminal
    bun add @capgo/capacitor-app-attest
  2. Synchroniser les projets natifs

    Fenêtre de terminal
    bunx cap sync
  3. Configurer les exigences de la plateforme

    • Terminer Configuration iOS pour la capacité App Attest et le flux de vérification backend.
    • Complete Configuration Android pour le Standard de l'intégrité de Play et le flux de vérification backend.
import { AppAttest } from '@capgo/capacitor-app-attest';
const support = await AppAttest.isSupported();
if (!support.isSupported) throw new Error('Attestation unavailable');
const prepared = await AppAttest.prepare();
const attestation = await AppAttest.createAttestation({
keyId: prepared.keyId,
challenge: serverNonce,
});
await sendAttestationToBackend(attestation);

Exemple : affirmer une requête authentifiée

Exemple : affirmer une demande authentifiée
const assertion = await AppAttest.createAssertion({
keyId: storedKeyId,
payload: requestHash,
});
  • Vérification requise côté serveurN'impliez jamais les blobs d'attestation sur le dispositif uniquement, validez-les sur votre serveur.
  • Numéro de projet de Play Integrity: Android Standard API nécessite le numéro de projet Cloud Google de la README.
  • Stockage de clés: utilisez storeKeyId() et clair à la déconnexion pour éviter les clés obsolètes.

Ce plugin fournit un API cross-plateforme unique tout en conservant la sécurité native des plateformes :

  • iOS : Apple App Attest (DeviceCheck)
  • Android : Google Play Integrity Standard API
  • No schéma de cryptage côté client personnalisé
  • Sorties normalisées pour les vérifications côté serveur
import { AppAttest } from '@capgo/capacitor-app-attest';
const support = await AppAttest.isSupported();
if (!support.isSupported) {
throw new Error(`Attestation not supported on ${support.platform}`);
}
const prepared = await AppAttest.prepare();
const registration = await AppAttest.createAttestation({
keyId: prepared.keyId,
challenge: 'backend-one-time-registration-challenge',
});
const assertion = await AppAttest.createAssertion({
keyId: prepared.keyId,
payload: 'backend-one-time-request-payload',
});
console.log(registration.platform, registration.format, registration.token);
console.log(assertion.platform, assertion.format, assertion.token);

createAttestation() et createAssertion() retourner les mêmes champs de clé sur iOS et Android :

ChampTypeDescription
platform'ios' | 'android' | 'web'Plateforme native qui a produit le jeton
formatAttestationFormatapple-app-attest ou google-play-integrity-standard
keyIdstringManchette/clé de fournisseur utilisée pour l'attestation
tokenstringJeton à vérifier sur votre serveur

L'attestation n'est utile que lorsqu'elle est vérifiée côté serveur.

  • N'ayez jamais confiance dans le succès client uniquement.
  • Exigez des valeurs de défi/payload uniques de votre serveur.
  • Vérifiez tokenUtilisez les guides du serveur spécifiques à la plateforme :

Utilisez les guides du serveur spécifiques à la plateforme :

Si vous utilisez Getting Started pour planifier la sécurité et la conformité, connectez-l’avec Utilisation de @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 les détails d'implémentation dans la conformité, Capgo Scanner de sécurité pour le flux de travail du produit dans Capgo Scanner de sécurité. Capgo Sécurité pour le flux de travail du produit dans Capgo Sécurité.