Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este 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.
Instalación
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-app-attest` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
-
Instala el paquete
Ventana de terminal bun add @capgo/capacitor-app-attest -
Sincronizar proyectos nativos
Ventana de terminal bunx cap sync -
Configura los requisitos de la plataforma
- Completa la Configurar iOS para la capacidad de App Attest y el flujo de verificación en el backend.
- Completa la Configuración de Android para Play Integrity Standard y el flujo de verificación en el backend.
Inicio rápido
Sección titulada “Inicio rápido”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);Ejemplo: validar una petición autenticada
Sección titulada “Ejemplo: validar una petición autenticada”const assertion = await AppAttest.createAssertion({ keyId: storedKeyId, payload: requestHash,});Errores comunes
Sección titulada “Errores comunes”- Requiere verificación en el backend: nunca confíes solo en los blobs de attestation del dispositivo, valídalos en tu servidor.
- Número de proyecto de Play Integrity: el API estándar de Android requiere el número de proyecto de Google Cloud del README.
- Key storage: usa
storeKeyId()y limpiar al cerrar sesión para evitar llaves obsoletas.
Por qué usar este plugin
Sección titulada “Por qué usar este plugin”Este plugin proporciona un API multiplataforma y mantiene la seguridad nativa de la plataforma:
- iOS: Apple App Attest (
DeviceCheck) - Android: Estándar de Google Play Integrity API
- No custom client-side crypto scheme
- Outputs normalizados para verificaciones en el 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);Estructura de respuesta unificada
Sección titulada “Estructura de respuesta unificada”createAttestation() y createAssertion() devuelven los mismos campos clave en iOS y Android:
| Campo | Tipo | Descripción |
|---|---|---|
platform | 'ios' | 'android' | 'web' | Plataforma nativa que generó el token |
format | AttestationFormat | apple-app-attest o google-play-integrity-standard |
keyId | string | Handle de la clave/proveedor usado para la atestación |
token | string | Token para verificar en tu backend |
Requisito del backend
Sección titulada “Requisito del backend”La atestación solo es útil si se verifica en el servidor.
- Nunca confíes solo en el éxito del cliente.
- Exige valores de challenge/payload de un solo uso desde tu backend.
- Verifica
token, la identidad de la app y protecciones contra replay en la lógica del backend.
Usa las guías de backend según la plataforma:
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar la seguridad y el cumplimiento, conéctalo con Uso de @capgo/capacitor-app-attest para la capacidad nativa en Uso de @capgo/capacitor-app-attest, Cifrado para los detalles de implementación en Cifrado, Cumplimiento para los detalles de implementación en Cumplimiento, Escáner de seguridad de Capgo para el flujo de trabajo del producto en Capgo Security Scanner, y Seguridad de Capgo para el flujo de trabajo del producto en Capgo Security.