IOS Setup & Verifica backend
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Utilizza il sistema nativo iOS
Sottosezione intitolata “Utilizza il sistema nativo iOS”Sull'iOS, questo plugin utilizza Apple App Attest dal DeviceCheck framework.
Requisiti
Sezione intitolata “Requisiti”- iOS 14+
- Consigliato un dispositivo fisico per flussi di validazione reali
- Target Xcode con capacità di App Attest abilitata
Configurazione Xcode
Sezione intitolata “Configurazione Xcode”- Aprite il vostro target di app iOS in Xcode.
- Vai a Autenticazione e Capacità.
- Clicca + Capacità And aggiungi App Attest.
Non sono richieste alcune autorizzazioni iOS personalizzate in Info.plist per App Attest stesso.
Ciclo del client
Sottosezione intitolata “Ciclo del client”import { 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',});Inviare attestation.token E assertion.token invia a tuo backend. Non validare in app.
Ciclo di lavoro backend (iOS)
Sottosezione intitolata “Ciclo di lavoro backend (iOS)”Registrazione (createAttestation)
Sezione intitolata “Registrazione (createAttestation)”- Backend crea una chiave di attivazione unica
challenge. - App chiama
createAttestation({ keyId, challenge }). - Backend verifica l'attestazione App Attest:
- la catena di certificati è valida e ancorata a Apple App Attest
- l'identità dell'app corrisponde alla tua app (
bundleIdteam) clientDataHashcorrispondeSHA256(challenge)
- Stato della chiave dispositivo del negozio (
keyIdchiave pubblica, e metadati del verificatore).
Richiesta di protezione (createAssertion)
Sezione intitolata “Richiesta di protezione (crea dichiarazione)”- Backend crea una richiesta temporanea
payload(o input hash di richiesta canonico). - L'app chiama
createAssertion({ keyId, payload }). - Backend verifica la firma della dichiarazione con il materiale di chiave precedentemente memorizzato.
- Abilita la protezione dal replay e i controlli TTL per il nonce.
Schema iOS
Sezione intitolata “Schema 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 policyContratto di pagamento backend minimo
Sezione intitolata “Contratto di pagamento backend minimo”Registrazione:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Affermazione:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Continua da iOS Setup & Verifica del backend
Sezione intitolata “Continua da iOS Setup & Verifica del backend”Se stai utilizzando iOS Setup & Verifica del backend per pianificare la sicurezza e la conformità, connettilo con Utilizzando @capgo/capacitor-app-attest per la capacità nativa in Utilizzando @capgo/capacitor-app-attest Crittografia per il dettaglio di implementazione in Crittografia, Conformità per i dettagli di implementazione in Conformità Capgo Scansionatore di Sicurezza per il flusso di lavoro del prodotto in Capgo Scansionatore di Sicurezza, e Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza.