Gérer les informations d'identification
Copiez un prompt de configuration avec les étapes d'installation et le guide markdown complet pour ce plugin.
Gérez vos identifiants de build iOS et Android localement pour des builds cloud faciles à utiliser.
Capgo CLI stocke vos identifiants de build sur votre machine — jamais sur les serveurs de Capgo . Par défaut, ils vivent dans un fichier global partagé par tous vos projets. Passer ~/.capgo-credentials/credentials.jsonà garder-les --local par projet dans targetLanguage .capgo-credentials.json au lieu de cela. Lorsque vous exécutez une build, les informations d'identification sauvegardées sont utilisées automatiquement et envoyées de manière sécurisée à Capgo, puis supprimées après la fin de la build.
Commandes
Section intitulée “Commandes”Gérer les informations d'identification de manière interactive
Section intitulée “Gérer les informations d'identification de manière interactive”La manière la plus rapide de travailler avec vos informations d'identification sauvegardées est le gestionnaire interactif. Il ouvre une interface de ligne de commande (TUI) (la même que celle utilisée par build init utilise) .env où vous pouvez naviguer dans ce qui est stocké, voir ce qui est configuré par application et plateforme, exporter un fichier prêt à l'emploi pour la CI/CD, ou supprimer les informations d'identification d'une plateforme :
bunx @capgo/cli@latest build credentials manage| Option | Description |
|---|---|
--appId <appId> | Application à gérer (vous invite à choisir si omis) |
--platform <ios|android> | Plateforme à gérer (vous invite à choisir si omis) |
--local | Utilisez le fichier par projet .capgo-credentials.json au lieu du fichier global |
Préférez des commandes scriptables à exécuter une fois ? Utilisez les commandes individuelles ci-dessous.
Enregistrer les identifiants
Sous-section intitulée « Enregistrer les identifiants »Stockez vos identifiants de build localement pour une utilisation automatique :
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Mettre à jour les identifiants
Sous-section intitulée « Mettre à jour les identifiants »Mise à jour partielles des informations d'identification existantes sans fournir tout le contenu à nouveau :
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Le update la commande utilise une fusion additive pour les profils de provisionnement — les nouveaux profils sont fusionnés avec les anciens. Pour remplacer la carte de provisionnement entière au lieu de cela, ajoutez --overwrite-ios-provisioning-map.
Exemple — ajoutez un profil d'extension aux informations d'identification existantes :
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"La commande de mise à jour accepte les mêmes options que save mais toutes sont facultatives — seuls les champs que vous fournissez sont mis à jour.
Liste de mots de passe
Section intitulée « Liste de mots de passe »Afficher les mots de passe enregistrés actuellement (les mots de passe sont masqués) :
bunx @capgo/cli@latest build credentials list
# List credentials for a specific appbunx @capgo/cli@latest build credentials list --appId com.example.appEffacer les mots de passe
Section intitulée « Effacer les mots de passe »Supprimer les mots de passe enregistrés de votre machine locale :
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Clear credentials for a specific app + platformbunx @capgo/cli@latest build credentials clear --appId com.example.app --platform iosMigrer les mots de passe
Section intitulée « Migrer les mots de passe »Convertir le format de profil unique hérité en format multi-cible :
bunx @capgo/cli@latest build credentials migrate --platform iosLa commande de migration détecte les anciens BUILD_PROVISION_PROFILE_BASE64 informations d'identification, les convertit en CAPGO_IOS_PROVISIONING_MAP, et supprime les clés héritées. Voir Migration d'un profil unique pour plus de détails.
Enregistrement des informations d'identification iOS
Section intitulée “Enregistrement des informations d'identification iOS”Exemple complet
Sous-section intitulée « Exemple complet »bunx @capgo/cli@latest build credentials save \ --platform ios \ --certificate ./cert.p12 \ --p12-password "YourP12Password" \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ --apple-key ./AuthKey_ABC1234567.p8 \ --apple-key-id "ABC1234567" \ --apple-issuer-id "00000000-0000-0000-0000-000000000000" \ --apple-team-id "TEAM123456"Options iOS
Sous-section intitulée « Options iOS »| Option | Description | Requis |
|---|---|---|
--certificate <path> | Chemin vers le fichier de certificat .p12 | Oui (version de production) |
--p12-password <password> | Mot de passe pour le certificat .p12 | Oui (version de production) |
--ios-provisioning-profile <mapping> | Correspondance de profil de provisionnement (bundleId=path). Répétable pour les applications à cible multiple. Si seulement un profil et pas de préfixe bundleId, CLI infère automatiquement à partir du profil. | Oui (version de production) |
--apple-key <path> | Chemin vers le API .p8 clé d'App Store Connect | Voir la note¹ |
--apple-key-id <id> | ID de clé d'App Store Connect API | Voir la note¹ |
--apple-issuer-id <id> | App Store Connect API Identifiant émetteur (UUID) | Voir la note¹ |
--apple-team-id <id> | Identifiant d'équipe App Store Connect | Oui |
--apple-id <email> | Adresse e-mail Apple ID pour l'upload de mot de passe spécifique à l'application (alternative au API clé) | Voir la note² |
--apple-app-specific-password <password> | Mot de passe spécifique à l'application (xxxx-xxxx-xxxx-xxxx) | Voir la note² |
--apple-app-id <id> | Identifiant numérique App Store Connect de l'application (par exemple, 1234567890) | Voir la note² |
--ios-distribution <mode> | Mode de distribution : app_store (par défaut) ou ad_hoc | Non |
--output-upload | Activer un lien de téléchargement temporaire Capgo pour l'artifact de build | Non (par défaut: false) |
--output-retention <seconds> | Durée de conservation des sorties de build (par exemple 3600s) | Non (par défaut: 3600s) |
--skip-build-number-bump | Ignorer l'incrémentation automatique du numéro de build | Non |
Ce qui est stocké
Section intitulée “Ce qui est stocké”Lorsque vous enregistrez les informations de connexion iOS, les CLI:
- Lis les fichiers de certificat et de profil de provisionnement
- Les convertit en codage base64
- Les enregistre dans
~/.capgo-credentials/credentials.json(ou.capgo-credentials.jsonwith--local) - Stocke les mots de passe et les identifiants en texte brut (seulement des fichiers locaux)
La structure de fichier stockée :
{ "ios": { "BUILD_CERTIFICATE_BASE64": "...", "CAPGO_IOS_PROVISIONING_MAP": "{\"com.example.app\":{\"profile\":\"...\",\"name\":\"match AppStore com.example.app\"}}", "APPLE_KEY_CONTENT": "...", "P12_PASSWORD": "...", "APPLE_KEY_ID": "ABC1234567", "APPLE_ISSUER_ID": "...", "APP_STORE_CONNECT_TEAM_ID": "TEAM123456", "CAPGO_IOS_DISTRIBUTION": "app_store" }}Enregistrement des identifiants Android
Section intitulée “Enregistrement des identifiants Android”Exemple complet
Section intitulée « Exemple complet »bunx @capgo/cli@latest build credentials save \ --platform android \ --keystore ./release.keystore \ --keystore-alias "my-key-alias" \ --keystore-key-password "KeyPassword123" \ --keystore-store-password "StorePassword123" \ --play-config ./play-store-service-account.jsonOptions Android
Section intitulée « Options Android »| Option | Description | Obligatoire |
|---|---|---|
--keystore <path> | Chemin vers le fichier .keystore ou .jks | Oui (version de production) |
--keystore-alias <alias> | Alias de clé dans le keystore | Oui (lancement) |
--keystore-key-password <password> | Mot de passe pour l'alias de la clé | Oui (lancement) |
--keystore-store-password <password> | Mot de passe pour le coffre de clés | Oui (lancement) |
--play-config <path> | Chemin du fichier JSON du compte de service Play Store | Oui (soumission) |
Ce qui est stocké
Section intitulée « Ce qui est stocké »Lorsque vous enregistrez les informations de connexion Android, le CLI:
- Lit les fichiers JSON du coffre de clés et du compte de service
- Les convertit en codage base64
- Enregistre-les dans
~/.capgo-credentials/credentials.json(ou.capgo-credentials.jsonavec--local) - Stocke les mots de passe et les alias sous forme de texte en clair (seulement des fichiers locaux)
La structure du fichier stocké :
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}En utilisant les informations de connexion sauvegardées
Section intitulée “En utilisant les informations de connexion sauvegardées”Une fois que vous avez enregistré les informations de connexion, elles sont automatiquement utilisées lors de la construction :
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosVous pouvez également définir des variables d'environnement pour contourner les informations de connexion sauvegardées :
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \bunx @capgo/cli@latest build request com.example.app --platform iosOrdre de priorité :
- Variables d'environnement (priorité la plus élevée)
- Informations d'identification sauvegardées (
~/.capgo-credentials/credentials.json, ou locale).capgo-credentials.json) - Aucune information d'identification (priorité la plus basse)
Afficher les informations d'identification sauvegardées
Section intitulée « Afficher les informations d'identification sauvegardées »Liste des informations d'identification que vous avez sauvegardées :
bunx @capgo/cli@latest build credentials listExemple de sortie :
📋 Saved Build Credentials:
iOS Credentials: ✓ Certificate (base64) ✓ Provisioning Map (JSON) ✓ Apple Key Content (base64) ✓ P12 Password: ******** ✓ Apple Key ID: ABC1234567 ✓ Apple Issuer ID: 00000000-0000-0000-0000-000000000000 ✓ Team ID: TEAM123456
Android Credentials: ✓ Keystore (base64) ✓ Play Store Config (base64) ✓ Keystore Alias: my-key-alias ✓ Key Password: ******** ✓ Store Password: ********
Location: ~/.capgo-credentials/credentials.json
🔒 These credentials are stored locally on your machine only. When building, they are sent to Capgo but NEVER stored there. They are auto-deleted after build completion.Meilleures Pratiques de Sécurité
Section intitulée « Meilleures Pratiques de Sécurité »Sécurité du Stockage Local
Section intitulée « Sécurité du Stockage Local »-
Permissions de Fichier
Fenêtre de Terminal # Global credentials directory + filechmod 700 ~/.capgo-credentialschmod 600 ~/.capgo-credentials/credentials.json# Local (per-project) credentials, if you use --localchmod 600 .capgo-credentials.json -
Jamais Commeter des Identifiants
Fenêtre de Terminal # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreThe fichier global vit dans votre répertoire personnel, en dehors du dépôt.
-
Identifiants protégés
- Utilisez des identifiants différents pour le développement local vs CI/CD
- Rotez régulièrement les identifiants
- Ne partagez pas les identifiants entre les membres de l'équipe
Utilisation CI/CD
Section intitulée “Utilisation CI/CD”Pour les environnements CI/CD, préférez les variables d'environnement aux identifiants sauvegardés.
Exporter un prêt à l'emploi .env (recommandé)
Section intitulée « Exporter un fichier .env prêt à l'emploi (recommandé) »Plutôt que de coder chaque fichier de clé par base64 à la main (voir ci-dessous), laissez build credentials manage générer le fichier pour vous :
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"Ce script écrit un .env.capgo.<appId>.<platform> fichier (permissions 0600) contenant toutes les clés sauvegardées sous forme de variable d'environnement — chaque ligne est une secret à ajouter à votre fournisseur CI/CD. Les deux plateformes sont combinées par défaut ; ajoutez --platform ios ou --platform android pour la restreindre à une.
Référence complète des variables d'environnement
Section intitulée “Référence complète des variables d'environnement”Le CLI lit les variables d'environnement suivantes pour les informations d'identification :
Informations d'identification iOS :
| Variable | Description | Format | Obligatoire |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | P12/PKCS12 certificat pour la signature code | Base64 | Oui (version de production) |
CAPGO_IOS_PROVISIONING_MAP | Carte JSON des identifiants de bundle vers les données de profil de provisionnement | Chaîne JSON | Oui (version de production) |
P12_PASSWORD | Mot de passe du certificat P12 | Texte brut | Facultatif |
APPLE_KEY_ID | Clé d'application API de Connect d'App Store | Chaîne de caractères (par exemple, « ABC1234567 ») | Voir la note¹ |
APPLE_ISSUER_ID | App Store Connect API Identifiant émetteur | Chaîne de UUID | Voir la note¹ |
APPLE_KEY_CONTENT | App Store Connect API clé (.fichier p8 contenu) | Base64 | Voir la note¹ |
APP_STORE_CONNECT_TEAM_ID | Identifiant de l'équipe développeur d'Apple | Chaîne (par exemple, « XXXXXXXXXX ») | Oui |
CAPGO_IOS_DISTRIBUTION | Mode de distribution : app_store (par défaut) ou ad_hoc | Chaîne | Non |
Identifiants Android :
| Variable | Description | Format | Obligatoire |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Fichier de clé pour signer APK/AAB | Base64 | Oui (version de production) |
KEYSTORE_KEY_ALIAS | Alias de clé au sein du fichier de clé | Chaîne | Oui (version de production) |
KEYSTORE_KEY_PASSWORD | Mot de passe pour l'alias de la clé | Texte brut | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe pour le fichier de clé | Texte brut | Oui* |
PLAY_CONFIG_JSON | Fichier JSON de compte de service Google Play | Base64 | Oui (soumission) |
*Si seulement un mot de passe est fourni, il sera utilisé pour les deux KEYSTORE_KEY_PASSWORD et KEYSTORE_STORE_PASSWORD.
GitHub Exemples d'actions
Section intitulée « GitHub Exemples d'actions »name: Cloud Build
on: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx @capgo/cli@latest build request com.example.app --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
build-android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx @capgo/cli@latest build request com.example.app --platform android env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}Préparation des valeurs Base64
Section intitulée « Préparation des valeurs Base64 »Pour convertir vos fichiers de clés en base64 pour les secrets CI/CD :
# iOS Certificate (.p12)base64 -i certificate.p12 | tr -d '\n' > certificate_base64.txt
# iOS Provisioning Profiles — use the CLI to generate CAPGO_IOS_PROVISIONING_MAP:bunx @capgo/cli@latest build credentials save --platform ios \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ # ... other options# Then copy CAPGO_IOS_PROVISIONING_MAP from ~/.capgo-credentials/credentials.json to your CI secrets
# iOS App Store Connect Key (.p8)base64 -i AuthKey_XXXXXX.p8 | tr -d '\n' > apple_key_base64.txt
# Android Keystore (.keystore or .jks)base64 -i release.keystore | tr -d '\n' > keystore_base64.txt
# Google Play Service Account JSONbase64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txtWhy les variables d'environnement sont plus sécurisées
Section intitulée “Pourquoi les variables d'environnement sont plus sécurisées”Cet approche est plus sécurisée car :
- Les secrets sont gérés par votre plateforme CI/CD
- Aucun fichier de credenciaux sur les exécutants
- Rotation et contrôle d'accès faciles
- Jalons d'audit pour l'utilisation des secrets
Rotation des credenciaux
Section intitulée “Rotation des credenciaux”Rotez régulièrement vos credenciaux :
- iOS: Générez de nouveaux certificats et API clés chaque année
- AndroidChanger les mots de passe du keystore chaque année
- Après les changements d'équipe: Rotoriser lorsque les membres de l'équipe quittent
Mettre à jour les informations de connexion enregistrées :
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Dépannage
Section intitulée “Dépannage””Aucune information de connexion trouvée”
Section intitulée “”Aucune information de connexion trouvée””Si l'éditeur indique que pas d'informations de connexion ont été trouvées :
-
Vérifiez si les informations d'identification sont enregistrées:
Fenêtre de terminal bunx @capgo/cli@latest build credentials list -
Enregistrer les informations d'identification si elles manquent:
Fenêtre de terminal bunx @capgo/cli@latest build credentials save --platform ios ... -
Vérifiez l'existence du fichier de fichiers d'identification:
Fenêtre de terminal ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
“Permission refusée” lors de la lecture des informations d'identification
Section intitulée ““Permission refusée” lors de la lecture des informations d'identification”Fixez les permissions du fichier:
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localLes informations d'identification ne sont pas utilisées
Section intitulée « Les informations d'identification ne sont pas utilisées »Vérifiez que la plateforme correcte est spécifiée :
# Make sure --platform matches saved credentialsbunx @capgo/cli@latest build request com.example.app --platform ios # Uses ios credentialsbunx @capgo/cli@latest build request com.example.app --platform android # Uses android credentialsEffacer et réenregistrer les informations d'identification
Section intitulée « Effacer et réenregistrer les informations d'identification »Si les informations d'identification semblent corrompues :
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Save againbunx @capgo/cli@latest build credentials save --platform ios ...Migration depuis les variables d'environnement
Section intitulée “Migration depuis les variables d'environnement”Si vous utilisez actuellement des variables d'environnement, vous pouvez migrer vers des informations d'identification sauvegardées :
-
Extraire vos variables d'environnement actuelles
Fenêtre de terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Décodez les fichiers base64 pour les retrouver dans leur forme originale (si nécessaire)
Fenêtre de terminal echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Sauvegarder à l'aide de CLI
Fenêtre de terminal bunx @capgo/cli@latest build credentials save \--platform ios \--certificate ./cert.p12 \--ios-provisioning-profile ./profile.mobileprovision \--p12-password "$P12_PASSWORD" \--apple-key-id "$APPLE_KEY_ID" \--apple-issuer-id "$APPLE_ISSUER_ID" \--apple-team-id "$APP_STORE_CONNECT_TEAM_ID"Si vous avez des identifiants existants enregistrés sous la forme ancienne (simple, ""), exécutez :
BUILD_PROVISION_PROFILE_BASE64Fenêtre de terminalCopier dans le presse-papier bunx @capgo/cli@latest build credentials migrate --platform ioset
CAPGO_IOS_PROVISIONING_MAPclés.BUILD_PROVISION_PROFILE_BASE64Testez la constructionAPPLE_PROFILE_NAMEFenêtre de terminal -
Copier dans le presse-papier
Cela convertit le profil de legacy en simple et supprime les anciens bunx @capgo/cli@latest build request com.example.app --platform ios -
Supprimer les variables d'environnement (facultatif)
Fenêtre de terminal unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Emplacement du fichier
Section intitulée « Emplacement du fichier »Les informations d'identification sont stockées dans un fichier JSON unique :
- Globale (par défaut) : — partagée avec tous vos projets
~/.capgo-credentials/credentials.jsonLocale - (avec (with
--local):.capgo-credentials.jsonen votre dossier racine — remplace le fichier global pour ce projet
Le fichier est créé automatiquement la première fois que vous enregistrez des informations d'identification. Ajoutez .capgo-credentials.json à votre .gitignore ainsi que les informations d'identification par projet ne sont jamais commitées.
Étapes suivantes
Sous-titre “Étapes suivantes”- Prise en main - Créez votre première build
- Constructions iOS - Configuration de construction spécifique à iOS
- Constructions Android - Configuration de construction spécifique à Android
- Résolution des problèmes - Problèmes courants et solutions
Besoin d'aide?
Section intitulée “Besoin d'aide?”- 📚 Guide de résolution des problèmes
- 💬 Communauté Discord
- 📧 Courriel : support@capgo.app
Continuez à partir de la gestion des identifiants
Section intitulée “Continuez à partir de la gestion des identifiants”Si vous utilisez Gestion des identifiants planifier l'automatisation de CI/CD, la connecter à Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration de CI/CD pour les détails d'implémentation dans l'Intégration de CI/CD, et GitHub Intégration d'Actions pour les détails d'implémentation dans GitHub Intégration d'Actions.