Vai al contenuto

Per iniziare

GitHub

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:

Finestra del terminale
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi 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:

  1. Installa il pacchetto

    Finestra del terminale
    bun add @capgo/capacitor-app-attest
  2. Sincronizza i progetti nativi

    Finestra del terminale
    bunx cap sync
  3. 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.
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,
});
  • 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.

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
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() e createAssertion() restituisci gli stessi campi chiave su iOS e Android:

CampoTipoDescrizione
platform'ios' | 'android' | 'web'Piattaforma nativa che ha generato il token
formatAttestationFormatapple-app-attest o google-play-integrity-standard
keyIdstringHandle della chiave/provider usato per l'attestazione
tokenstringToken da verificare sul tuo 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:

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.