Per iniziare
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo 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.
Installazione
Sezione intitolata “Installazione”Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi usa il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-app-attest` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo questi comandi e segui le istruzioni specifiche per piattaforma qui sotto:
-
Installa il pacchetto
Finestra del terminale bun add @capgo/capacitor-app-attest -
Sincronizza i progetti nativi
Finestra del terminale bunx cap sync -
Configura i requisiti della piattaforma
- Completa la Setup iOS per la funzionalità App Attest e il flusso di verifica backend.
- Completa la Configurazione Android per Play Integrity Standard e il flusso di verifica backend.
Avvio rapido
Sezione intitolata “Quick start”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);Esempio: assert su una richiesta autenticata
Sezione intitolata “Esempio: assert un'authenticated request”const assertion = await AppAttest.createAssertion({ keyId: storedKeyId, payload: requestHash,});Errori comuni
Sezione intitolata “Errori comuni”- Verifica backend richiesta: non fidarti mai degli attestation blob solo sul device, validali sul tuo server.
- Numero del progetto Play Integrity: lo standard Android API richiede il numero del progetto Google Cloud dal README.
- Key storage: usa
storeKeyId()e svuota al logout per evitare chiavi obsolete.
Perché usare questo plugin
Sezione intitolata “Perché usare questo plugin”Questo plugin offre un unico API cross-platform, mantenendo la sicurezza nativa delle piattaforme:
- iOS: Apple App Attest (
DeviceCheck) - Android: Standard Google Play Integrity API
- Nessun sistema crittografico custom lato client
- Output normalizzati per i controlli backend
Utilizzo
Sezione intitolata “Usage”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);Formato della risposta unificato
Sezione intitolata “Formato della risposta unificato”createAttestation() e createAssertion() restituisci gli stessi campi chiave su iOS e Android:
| Campo | Tipo | Descrizione |
|---|---|---|
platform | 'ios' | 'android' | 'web' | Piattaforma nativa che ha generato il token |
format | AttestationFormat | apple-app-attest o google-play-integrity-standard |
keyId | string | Handle della chiave/provider usato per l'attestazione |
token | string | Token da verificare sul tuo backend |
Requisiti backend
Sezione intitolata “Requisito backend”L'attestazione è utile solo se verificata lato server.
- Non fidarti mai del solo successo lato client.
- Richiedi i valori di challenge/payload una tantum dal tuo backend.
- Verifica
token, l'identità dell'app e le protezioni replay nella logica backend.
Usa le guide backend specifiche per ogni piattaforma:
Continua da Getting Started
Sezione intitolata “Continua da Getting Started”Se stai usando Per iniziare per pianificare sicurezza e compliance, collegalo a Utilizzo di @capgo/capacitor-app-attest per la funzionalità nativa in Utilizzo di @capgo/capacitor-app-attest, Crittografia per i dettagli di implementazione della crittografia, Conformità per i dettagli di implementazione in Compliance, Security Scanner di Capgo per il workflow di prodotto in Capgo Security Scanner, e Sicurezza Capgo per il workflow di prodotto in Capgo Security.