Installation iOS & Vérification de l'arrière-plan
Copiez un prompt de configuration avec les étapes d'installation et la 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 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 Xcode
Section intitulée « Configuration Xcode »- Ouvrez votre cible d'application iOS dans Xcode.
- Allez à Signature et capacités.
- Cliquez + Capacité et ajoutez App Attest.
aucune permission iOS personnalisée n'est requise dans Info.plist pour App Attest elle-même.
Flux client
Sous-titre « Flux 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',});Envoyer attestation.token et assertion.token à votre serveur backend. N'effectuez pas de validation dans l'application.
Flux de travail backend (iOS)
Sous-titre « Flux de travail backend (iOS) »Inscription (createAttestation)
Section intitulée “Inscription (créer une attestation)”- Le serveur crée une attestation temporaire
challenge. - L'application appelle
createAttestation({ keyId, challenge }). - Le serveur 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 (
bundleId, équipe) clientDataHashcorrespondSHA256(challenge)
- État de la clé de magasin du dispositif (
keyId, clé publique, et métadonnées de vérificateur).
Demande de protection (createAssertion)
Section intitulée « Demande de protection (créer une assertion) »- L'arrière-plan crée une demande unique
payloadou l'entrée de hachage de demande canonique. - L'application appelle
createAssertion({ keyId, payload }). - L'arrière-plan vérifie la signature d'assertion avec le matériel de clé stocké précédemment.
- Appliquer une protection contre la reprise et des vérifications TTL pour le nonce.
Schéma iOS
Section intitulée « Schéma 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 minimal de l'arrière-plan
Section intitulée « Contrat de paiement minimal de l'arrière-plan »Inscription :
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Assertion :
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Continuez de la configuration iOS & de la vérification du backend
Titre de la section « Continuez de la configuration iOS & de la vérification du backend »Si vous utilisez Configuration iOS & vérification du backend pour planifier la sécurité et la conformité, connectez-l’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é.