Configuration iOS & vérification du backend
Copier un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Système natif iOS utilisé
Section intitulée « Système natif iOS utilisé »Sur iOS, ce plugin utilise Apple App Attest à partir du DeviceCheck framework.
Exigences
Section intitulée « Exigences »- iOS 14+
- Un appareil physique est recommandé pour les flux de validation réels
- Cible Xcode avec la capacité App Attest activée
Configuration de Xcode
Section intitulée « Configuration de Xcode »- Ouvrez votre cible d'application iOS dans Xcode.
- Allez à Signature et capacités.
- Cliquez Ajouter une capacité et ajoutez App Attest.
Aucune permission iOS personnalisée n'est requise pour App Attest elle-même. Info.plist Client flow
Section intitulée « Client flow »
Copier dans le presse-papiersimport { 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',});et attestation.token à votre backend. N'effectuez pas de validation dans l'application. assertion.token Flux de travail Backend (iOS)
Section intitulée « Flux de travail Backend (iOS) »
Copy to clipboardInscription (createAttestation)
Section intitulée « Inscription (createAttestation) »- Backend crée une attestation temporaire
challenge. - L'application appelle
createAttestation({ keyId, challenge }). - Backend vérifie l'attestation App Attest de l'application : la chaîne de certificats est valide et ancrée à Apple App Attest
- l'identité de l'application correspond à votre application (
- , équipe)
bundleIdcorrespond clientDataHashStockez l'état de la clé de l'appareil (SHA256(challenge)
- , clé publique et métadonnées de vérificateur).
keyIdDemandez la protection (
Demandez la protection (createAssertion)
Section intitulée « Protection de la demande (créer une assertion) »- L'arrière-plan crée un jeton temporaire
payload(ou hash de requête canonique d'entrée). - L'application appelle
createAssertion({ keyId, payload }). - L'arrière-plan vérifie la signature de l'assertion avec le matériel de clé stocké précédemment.
- Appliquer la protection contre la reprise et les vérifications de TTL de nonce.
Schema iOS
Section intitulée « 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 policyContrat de paiement backend minimal
Section intitulée « Contrat de paiement backend minimal »Inscription :
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Déclaration :
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Continuez de la configuration iOS et de la vérification du backend
Section intitulée « Continuez de la configuration iOS et de la vérification du backend »Si vous utilisez Configuration iOS et vérification du backend pour planifier la sécurité et la conformité, connectez-le avec Utilisation de @capgo/capacitor-app-attest pour la capacité native dans Utilisation de @capgo/capacitor-app-attest, Chiffrement pour le détail d'implémentation dans Chiffrement, Conformité pour le détail d'implémentation dans Conformité, Capgo Scanner de sécurité pour le flux de travail du produit dans Capgo Scanner de sécurité, et Capgo Sécurité pour le flux de travail du produit dans Capgo Sécurité.