Getting Started
Copiez une invite de configuration avec les étapes d'installation et la guide markdown complet pour ce plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-app-attest`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/app-attest/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installation
Section intitulée « Installation »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 :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsEnsuite, 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.
-
Installer le package
Fenêtre de terminal bun add @capgo/capacitor-app-attest -
Synchroniser les projets natifs
Fenêtre de terminal bunx cap sync -
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.
Démarrage rapide
Section intitulée « Démarrage rapide »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éeconst assertion = await AppAttest.createAssertion({ keyId: storedKeyId, payload: requestHash,});Pièges courants
Section titled “Common pitfalls”- 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.
Pourquoi utiliser ce plugin
: Section intitulée “Pourquoi utiliser ce plugin”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
Utilisation
Section intitulée « Utilisation »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);Forme de réponse unifiée
Section intitulée « Forme de réponse unifiée »createAttestation() et createAssertion() retourner les mêmes champs de clé sur iOS et Android :
| Champ | Type | Description |
|---|---|---|
platform | 'ios' | 'android' | 'web' | Plateforme native qui a produit le jeton |
format | AttestationFormat | apple-app-attest ou google-play-integrity-standard |
keyId | string | Manchette/clé de fournisseur utilisée pour l'attestation |
token | string | Jeton à vérifier sur votre serveur |
Exigence du serveur
Section intitulée « Exigence du 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 :
Continuez de l'étape « Commencer »
Titre de la section « Continuez de l'étape « Commencer » »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é.