Zum Inhalt springen

Erste Schritte

GitHub

Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:

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

Nutze dann diesen Prompt:

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

Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:

  1. Paket installieren

    Terminalfenster
    bun add @capgo/capacitor-app-attest
  2. Native Projekte synchronisieren

    Terminalfenster
    bunx cap sync
  3. Plattformanforderungen konfigurieren

    • Abgeschlossen iOS-Setup für die App-Attest-Funktion und den Backend-Verifizierungsprozess.
    • Abgeschlossen Android-Setup für den Play Integrity Standard und den Backend-Verifizierungsprozess.
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);

Beispiel: Eine authentifizierte Anfrage prüfen

Abschnitt: „Beispiel: Authentifizierte Anfrage validieren“
const assertion = await AppAttest.createAssertion({
keyId: storedKeyId,
payload: requestHash,
});
  • Backend-Verifizierung erforderlich: Vertraue Attestation-Blobs niemals nur auf dem Gerät; validiere sie auf deinem Server.
  • Play Integrity Projektnummer: Für Android Standard API wird die Google Cloud Projektnummer aus dem README benötigt.
  • Keyspeicherung: Nutze storeKeyId() und lösche sie beim Logout, um veraltete Keys zu vermeiden.

Dieses Plugin bietet eine plattformübergreifende API, während die native Sicherheit gewahrt bleibt:

  • iOS: Apple App Attest (DeviceCheck)
  • Android: Google Play Integrity Standard API
  • Keine eigenen clientseitigen Krypto-Verfahren
  • Normalisierte Outputs für Backend-Checks
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() und createAssertion() liefert auf iOS und Android die gleichen Key-Felder:

FeldTypBeschreibung
platform'ios' | 'android' | 'web'Native Plattform, die den Token erstellt hat
formatAttestationFormatapple-app-attest oder google-play-integrity-standard
keyIdstringKey/Provider-Handle für die Attestation
tokenstringToken zur Verifizierung auf deinem Backend

Attestation ist nur bei serverseitiger Verifizierung sinnvoll.

  • Vertraue niemals einem rein clientseitigen Erfolg.
  • Fordere einmalige Challenge-/Payload-Werte von deinem Backend an.
  • Verifiziere token, die App-Identität sowie Replay-Schutz in deiner Backend-Logik.

Nutze die plattformspezifischen Backend-Guides:

Wenn du es nutzt Erste Schritte um Sicherheit und Compliance zu planen, verbinden Sie es mit @capgo/capacitor-app-attest verwenden für die native Funktion in „@capgo/capacitor-app-attest verwenden“, Verschlüsselung für die Implementierungsdetails in Encryption, Compliance für das Implementierungsdetail in Compliance, Capgo Security-Scanner für den Produkt-Workflow im Capgo Security Scanner, und Capgo Sicherheit für den Produkt-Workflow in Capgo Security.