Saltar al contenido

Notas de backend

Su backend sigue teniendo el normal rito de WebAuthn:

  • generar desafíos de registro y autenticación
  • verificar respuestas de atestación y afirmación
  • imponer la validación de ID y desafío de la parte que confía
  • almacenar credenciales y contrarrestar de la misma manera que harías para un flujo de navegador

El complemento está diseñado para preservar la forma de frente de su WebAuthn existente code

  • En la web, se envía a la autenticación de navegador real WebAuthn API
  • En nativo Capacitor, devuelve objetos de credenciales de navegador similares respaldados por APIs de passkey nativas
  • Su backend puede mantener el mismo pipeline de desafío y verificación

Las llaves de activos digitales permiten a Android compartir el mismo partido de confianza y ecosistema de credenciales que su sitio web

  • La literal
  • What stays the same clientDataJSON.origin El valor puede diferir del origen del sitio web.
  • Si tu servidor rechaza cualquier cosa excepto https://your-domainLas afirmaciones nativas de Android pueden fallar incluso cuando el código de acceso es válido.

Permite el origen de navegador esperado y el origen de la aplicación de Android esperado para el mismo partido de confianza cuando se admiten códigos de acceso nativos de Android.

Eso te da:

  • Soporte del navegador para el sitio web
  • Soporte de código de acceso nativo en la aplicación Capacitor
  • Un ecosistema de códigos de acceso para el mismo dominio de partido de confianza

Si su servidor ya devuelve PublicKeyCredentialCreationOptionsJSON y PublicKeyCredentialRequestOptionsJSON, puede utilizar también el plugin directo API en lugar del shim de estilo de navegador:

import { CapacitorPasskey } from '@capgo/capacitor-passkey';
const registration = await CapacitorPasskey.createCredential({
origin: 'https://signin.example.com',
publicKey: registrationOptionsFromBackend,
});
const authentication = await CapacitorPasskey.getCredential({
origin: 'https://signin.example.com',
publicKey: requestOptionsFromBackend,
});