Installation iOS & Vérification de l'arrière-plan
Copiez une invite de configuration avec les étapes d'installation et le guide markdown complet pour ce plugin.
Utilise le système natif iOS
Sous-section intitulée « Utilise le système natif iOS »Sur iOS, ce plugin utilise L'App Attest d'Apple à partir de DeviceCheck le 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 sur + Capacité et ajoutez App Attest.
contexte : Produit/Politique commerciale d'entreprise. Rôle : Étiquette de l'IU courte ou élément de navigation. Voir : page enterprise.astro. Clé de message `enterprise_plugins_capgo_app_attest` (Enterprise Plugins Capgo App Attest). Info.plist Aucune permission iOS personnalisée n'est requise dans
pour App Attest elle-même.
Flux clientimport { 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',});Copier dans le presse-papiers attestation.token Envoyer assertion.token et
contexte : Site Web de marketing Capgo. Rôle : Étiquette de l'IU courte ou élément de navigation. Voir : page trust.astro. Clé de message `and` (Et).
à votre serveur backend. N'effectuez pas de validation dans l'application. » : Serveur backend (iOS) » : Section intitulée « Serveur backend (iOS) »Enregistrement (createAttestation)
Section intitulée “Enregistrement (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 (
keyIdclé publique, et métadonnées de vérificateur).
Demander une protection (createAssertion)
Section intitulée « Demande de protection (créer une assertion) »- Le serveur backend crée une demande temporaire
payload(ou une entrée de hachage de requête canonique). - L'application appelle
createAssertion({ keyId, payload }). - Le serveur backend vérifie la signature de l'assertion avec le matériel de clé stocké précédemment.
- Appliquer une protection contre la reprise et des vérifications de 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 de backend minimal
Section intitulée « Contrat de paiement de backend minimal »Enregistrement :
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Affirmation :
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Continuer de la configuration iOS & de la vérification du backend
Titre de la section « Continuer de la configuration iOS & de la vérification du backend »Si vous utilisez la configuration iOS & la vérification du backend pour planifier la sécurité et la conformité, connectez-l’avec En utilisant @capgo/capacitor-app-attest pour la capacité native dans En utilisant @capgo/capacitor-app-attest la cryptage pour le détail d'implémentation dans la cryptage 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é.