Configuración de iOS y verificación de backend
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Se utiliza el sistema nativo de iOS.
Sección titulada “Se utiliza el sistema nativo de iOS”En iOS, este plugin utiliza App Attest de Apple desde el DeviceCheck framework.
Requisitos
Sección titulada “Requisitos”- iOS 14+
- Se recomienda un dispositivo físico para flujos de validación reales
- Objetivo de Xcode con la capacidad de App Attest habilitada
Xcode setup
Sección titulada “Configuración de Xcode”- Abra su objetivo de aplicación iOS en Xcode.
- Vaya a Identificación y capacidades.
- Haga clic y agregar y agregar App Attest.
No se requieren permisos iOS personalizados en Info.plist flujo del cliente
flujo del cliente
Copiar a portapapelesimport { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare();
const attestation = await AppAttest.createAttestation({ keyId, challenge: 'backend-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId, payload: 'backend-request-payload',});y attestation.token and assertion.token Envíelos a su servidor. No los validen en la aplicación.
Sección titulada “flujo de servidor (iOS)”
Flujo de trabajo de backend (iOS)Registration (createAttestation)
Título de la sección “Registro (createAttestation)”- Backend crea uno de uso único
challenge. - App llamadas
createAttestation({ keyId, challenge }). - El servidor verifica la atestación de App Attest:
- La cadena de certificados es válida y está anclada a Apple App Attest
- identidad de la aplicación coincide con tu aplicación ("
bundleId, equipo) clientDataHashcoincideSHA256(challenge)
- Almacenar estado de la clave del dispositivo (
keyId, clave pública y metadatos del verificador).
Solicitar protección (createAssertion)
Título de la sección “Solicitud de protección (createAssertion)”- Backend crea una solicitud única
payloado ingresa el hash de solicitud canónico. - App llamadas
createAssertion({ keyId, payload }). - El backend verifica la firma de la afirmación con el material de clave almacenado previamente.
- Enforce replay protection and nonce TTL checks.
Esquema de iOS
Sección titulada “Esquema de iOS”sequenceDiagram participant App as iOS App participant Plugin as AppAttest plugin participant Apple as Apple App Attest participant BE as Backend
BE->>App: one-time challenge App->>Plugin: prepare() Plugin->>Apple: generateKey() Apple-->>Plugin: keyId
App->>Plugin: createAttestation(keyId, challenge) Plugin->>Apple: attestKey(keyId, SHA256(challenge)) Apple-->>Plugin: attestation token Plugin-->>App: token + platform + format + keyId App->>BE: token + challenge + keyId BE->>BE: verify Apple attestation rules
BE->>App: one-time payload App->>Plugin: createAssertion(keyId, payload) Plugin->>Apple: generateAssertion(keyId, SHA256(payload)) Apple-->>Plugin: assertion token Plugin-->>App: token + platform + format + keyId App->>BE: token + payload + keyId BE->>BE: verify signature + replay policyContrato de pago mínimo de backend
Sección titulada “Contrato de pago de backend mínimo”Registration:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Declaración:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Continúa desde la configuración de iOS y la verificación del backend.
Sesión titulada “Continúa desde la configuración de iOS y la verificación de backend”Si está utilizando Configuración de iOS y verificación de backend para planificar la seguridad y la conformidad, conecte con Usando @capgo/capacitor-app-attest para la capacidad nativa en Usando @capgo/capacitor-app-attest, Encriptación para el detalle de implementación en Encriptación, Conformidad para los detalles de implementación en Compliance Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Escáner de Seguridad, y Capgo Seguridad para el flujo de trabajo del producto en Capgo Seguridad.