Zum Inhalt springen

Einstieg

  1. Installieren Sie das Paket

    Terminalfenster
    bun add @capgo/capacitor-passkey
  2. Synchronisieren Sie native Projekte

    Terminalfenster
    bunx cap sync
  3. Fügen Sie die Plugin-Konfiguration hinzu

    import type { CapacitorConfig } from '@capacitor/cli';
    const config: CapacitorConfig = {
    appId: 'app.capgo.passkey.example',
    appName: 'My App',
    webDir: 'dist',
    plugins: {
    CapacitorPasskey: {
    origin: 'https://signin.example.com',
    autoShim: true,
    domains: ['signin.example.com'],
    },
    },
    };
    export default config;
  4. Installieren Sie den Shim während des Bootstrapping

    import { CapacitorPasskey } from '@capgo/capacitor-passkey';
    await CapacitorPasskey.autoShimWebAuthn();
  5. Halten Sie Ihren normalen WebAuthn-Flow aufrecht

    const registration = await navigator.credentials.create({
    publicKey: registrationOptions,
    });
    const authentication = await navigator.credentials.get({
    publicKey: requestOptions,
    });

Die Konfiguration wird aus plugins.CapacitorPasskey in capacitor.config.*.

  • origin: primäre HTTPS-Anbieter-Quelle, die vom Shim und dem direkten API verwendet wird
  • domains: zusätzliche Anbieter-Hostnamen, die in die native Konfiguration während der Synchronisierung eingepflegt werden
  • autoShim: standardmäßig true und steuert die native cap sync Automatisierungshook

Wenn Sie das Kommando ausführen bunx cap syncwird der Plugin die generierte native Host-Projekt aktualisiert:

  • iOS: Zugehörige Domänenberechtigungen und Xcode-Berechtigungen werden bei Bedarf konfiguriert
  • Android: asset_statements Metadaten und die generierte Ressource, die vom Manifest verwendet wird

Der Hook veröffentlicht Ihre Website-Trust-Dateien nicht für Sie. Sie müssen sie noch selbst hosten:

  • https://your-domain/.well-known/apple-app-site-association
  • https://your-domain/.well-known/assetlinks.json