Gestion des identifiants
Copiez une invite de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Gérez vos clés de build iOS et Android localement pour des builds cloud faciles.
Vue d'ensemble
Section intitulée « Vue d'ensemble »Capgo CLI stocke vos clés de build sur votre machine — jamais sur les serveurs de Capgo . Par défaut, ils vivent dans un global file, ~/.capgo-credentials/credentials.json, partagé avec tous vos projets. --local pour les conserver pour les conserver in .capgo-credentials.json Lorsque vous exécutez une build, les informations d'identification enregistré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 Identifiants Interactivement
Gérer les identifiants de manière interactiveLa manière la plus rapide de travailler avec vos credenciaux sauvegardés est le gestionnaire interactif. Il ouvre un TUI (le même que) build init uses) where you can browse what’s stored, see what’s configured per app and platform, export a CI/CD-ready .env file, or delete a platform’s credentials:
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-vous des commandes scriptables une seule fois ? Utilisez les commandes individuelles ci-dessous.
Enregistrer les informations d'identification
Enregistrez vos identifiantsStockez vos informations de build locales pour une utilisation automatique :
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Mettre à jour les informations d'identification
Mise à jour des informations d'identificationMettre à jour partiellement les informations d'identification existantes sans les réentrer toutes.
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Le update La commande utilise la fusion additive Pour la configuration des profils de provisioning — les nouveaux profils sont fusionnés avec les anciens. Pour remplacer la carte de provisioning entière, 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 vos identifiants
Section intitulée « Liste de vos identifiants »Afficher les crédentiels 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.appSupprimer les informations d'identification
Effacer vos identifiantsSection intitulée « Effacer vos identifiants »
# 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 identifiants
Migrer les informations d'identificationConvertir le format de profil unique hérité en format multi-cible nouveau :
bunx @capgo/cli@latest build credentials migrate --platform iosLa commande de migration détecte les anciens BUILD_PROVISION_PROFILE_BASE64 La commande de migration détecte les anciennes CAPGO_IOS_PROVISIONING_MAPinformations d'identification, les convertit en , et supprime les clés héritées. Voir Pour plus de détails.
pour plus de détails.
Enregistrement des informations d'identification iOSExemple complet
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
Section titled “iOS Options”| Option | Description | Obligatoire |
|---|---|---|
--certificate <path> | Chemin vers le fichier de certificat .p12 | Oui (version de production) |
--p12-password <password> | Mot de passe du certificat .p12 | Oui (version de production) |
--ios-provisioning-profile <mapping> | Correspondance de profil de provisionnement (bundleId=pathSi qu'un seul profil et sans préfixe bundleId, CLI est automatiquement déduit du profil. | Oui (version de production) |
--apple-key <path> | Chemin vers la clé .p8 d'App Store Connect API | Voir la note¹ |
--apple-key-id <id> | ID de la clé d'App Store Connect API | Voir note¹ |
--apple-issuer-id <id> | App Store Connect API ID émetteur (UUID) | Voir note¹ |
--apple-team-id <id> | ID d'équipe App Store Connect | Oui |
--apple-id <email> | Adresse e-mail Apple ID pour l'upload du mot de passe d'application (alternative au API clé) | Voir note² |
--apple-app-specific-password <password> | Mot de passe d'application (xxxx-xxxx-xxxx-xxxx) | Voir note² |
--apple-app-id <id> | ID d'application numérique App Store Connect (par exemple 1234567890) | Voir note² |
--ios-distribution <mode> | Mode de distribution : app_store (par défaut) ou ad_hoc | Non |
--output-upload | Enable a time-limited Capgo download link for the build artifact | Non (par défaut: false) |
--output-retention <seconds> | How long to keep build outputs (e.g. 3600s) | Non (par défaut: 3600s) |
--skip-build-number-bump | Ignorer l'incrémentation automatique du numéro de build | Non |
Qu'est stocké
Section intitulée « Qu'est stocké »When you save iOS credentials, the 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.jsonavec--local) - Stores passwords and IDs as plain text (local files only)
La structure de fichiers stockés :
{ "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 titled “Android Options”| Option | Option | Description |
|---|---|---|
--keystore <path> | Chemin vers le fichier .keystore ou .jks | Oui (version de sortie) |
--keystore-alias <alias> | Alias de la clé dans le coffre-fort | Oui (version de production) |
--keystore-key-password <password> | Mot de passe pour l'alias de la clé | Oui (version de production) |
--keystore-store-password <password> | Mot de passe pour le coffre-fort | Oui (version de production) |
--play-config <path> | Path to Play Store service account JSON | Oui (soumission) |
Ce que l'on stocke
Section intitulée « Ce que l'on stocke »When you save Android credentials, the CLI:
- Lecture du coffre-fort et du fichier JSON du compte de service
- Les convertit en codage base64
- Les enregistre dans
~/.capgo-credentials/credentials.jsonou.capgo-credentials.jsonavec--local) - Stores passwords and alias as plain text (local files only)
La structure de fichier stockée :
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}Utiliser les informations de connexion enregistrées
Utilisation des Identifiants SauvegardésOnce you’ve saved credentials, they’re automatically used when you build:
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosYou can also override saved credentials using environment variables:
# 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 enregistrées (
~/.capgo-credentials/credentials.json, ou locales).capgo-credentials.json) - Aucune information d'identification (priorité la plus basse)
Afficher les informations d'identification enregistrées
Voir les informations de connexion sauvegardéesListez vos identifiants sauvegardés :
bunx @capgo/cli@latest build credentials list__CAPGO_KEEP_0__
📋 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é des Stockages Locaux
Section intitulée « Sécurité des Stockages Locaux »-
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 -
Ne jamais Commiter les Informations d'Accès
Fenêtre de Terminal # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreLe fichier global se trouve dans votre répertoire personnel, en dehors du dépôt.
-
Credenciaux séparés
- Utiliser des credenciaux différents pour le développement local vs CI/CD
- Roter les credenciaux régulièrement
- Ne pas partager les credenciaux 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 credenciaux sauvegardés.
Exporter un prêt à l'emploi .env (recommandé)
Exporter un .env prêt à l'emploi (recommandé)Au lieu de coder chaque fichier de credenciaux en base64 de manière manuelle (voir below), let build credentials manage Copier dans le presse-papier
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"Il écrit un .env.capgo.<appId>.<platform> fichier (permissions) 0600) containing every saved credential as an environment variable — each line is one secret to add to your CI/CD provider. Both platforms are combined by default; add --platform ios or --platform android pour le restreindre à un.
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 | Certificat P12/PKCS12 pour la signature de code | Base64 | Oui (version de production) |
CAPGO_IOS_PROVISIONING_MAP | Carte JSON des ID de bundle aux données de profil de provisionnement | Chaîne JSON | Oui (version de production) |
P12_PASSWORD | Mot de passe pour le certificat P12 | Texte en clair | Facultatif |
APPLE_KEY_ID | Clé API d'App Store Connect | Chaîne de caractères (par exemple, « ABC1234567 ») | Voir note¹ |
APPLE_ISSUER_ID | App Store Connect API Identifiant émetteur | Chaîne de UUID | Voir note¹ |
APPLE_KEY_CONTENT | App Store Connect API clé (.fichier p8 contenu) | Base64 | Voir note¹ |
APP_STORE_CONNECT_TEAM_ID | Identifiant d'équipe développeur Apple | Chaîne (par exemple, « XXXXXXXXXX ») | Oui |
CAPGO_IOS_DISTRIBUTION | Distribution mode : app_store (par défaut) ou ad_hoc | String | Non |
Identifiants Android :
| Variable | Description | Format | Obligatoire |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Fichier de clé de signature pour signer APK/AAB | Base64 | Oui (version de production) |
KEYSTORE_KEY_ALIAS | Alias de clé au sein du coffre-fort. | String | Oui (version) |
KEYSTORE_KEY_PASSWORD | Mot de passe pour l'alias de la clé | Texte en clair | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe pour le fichier de clé | Texte en clair | Oui* |
PLAY_CONFIG_JSON | JSON de compte de service Google Play | Base64 | Oui (soumission) |
*Si seul 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.txtPourquoi les variables d'environnement sont plus sécurisées
Section intitulée « Pourquoi les variables d'environnement sont plus sécurisées »Cette 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
- Traçabilité des utilisations de secrets
Rotation de Credenciaux
Section intitulée « Rotation de Credenciaux »Rotez régulièrement vos credenciaux :
- iOS: Générez de nouveaux certificats et des API clés chaque année
- Android: Changer les mots de passe du keystore tous les ans
- : Après les changements d'équipe: Rouler lorsque les membres de l'équipe quittent
Mise à jour des informations de connexion enregistrées
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Troubleshooting
Section intitulée « Résolution des problèmes »Aucune information de connexion trouvée
Section titled ““No credentials found””Si le build indique qu'aucun credencial n'a été trouvé :
-
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 crédentials:
Fenêtre de terminal ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
Accès refusé lors de la lecture des informations d'identification
Permission refusée lors de la lecture des informations d'identificationRéparer les permissions de fichier :
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localLes identifiants ne sont pas utilisés
Les informations d'identification ne sont pas utiliséesVé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 credentialsVérifiez que la plateforme correcte est spécifiée :
Effacer et réenregistrer les informations d'identificationSi 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 à partir de variables d'environnement
Section intitulée « Migration à partir de variables d'environnement »Si vous utilisez actuellement des variables d'environnement, vous pouvez migrer vers des informations de connexion enregistrées :
-
Extraire vos variables d'environnement actuelles
Fenêtre de terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Décodez les fichiers base64 en fichiers originaux 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
BUILD_PROVISION_PROFILE_BASE64Exécutez :Fenêtre de terminal bunx @capgo/cli@latest build credentials migrate --platform iosCela convertit la version legacy d'un profil unique en un
CAPGO_IOS_PROVISIONING_MAPet supprime les anciensBUILD_PROVISION_PROFILE_BASE64etAPPLE_PROFILE_NAMEkeys. -
Tester la construction
Fenêtre de terminal 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 identifiants sont stockés dans un seul fichier JSON.
- Globale (par défaut) :
~/.capgo-credentials/credentials.json— partagée avec tous vos projets - Locale (avec)
--local):.capgo-credentials.jsondans votre dossier racine de projet — remplace le fichier global pour ce projet
Le fichier est créé automatiquement lors de la première sauvegarde de vos informations de connexion. Ajoutez .capgo-credentials.json à votre .gitignore Les identifiants de projet ne sont jamais commités.
Étapes suivantes
Section intitulée « Étapes suivantes »- Getting Started - Créez votre première build
- Constructions iOS - Configuration de construction spécifique à iOS
- Constructions Android - Configuration de construction spécifique à Android
- Troubleshooting - Problèmes courants et solutions
Besoin d'aide?
Section intitulée « Besoin d'aide ? »- 📚 Guide de résolution de problèmes
- 💬 Communauté Discord
- 📧 Courriel : support@capgo.app
Continuez de la gestion des identifiants
Section intitulée “Continuez depuis la gestion des identifiants”Si vous utilisez Gestion des Identifiants pour planifier l'automatisation CI/CD, le connecter avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Déploiements natifs pour le flux de travail du produit dans Capgo Déploiements natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour les détails d'implémentation dans Intégration CI/CD, et GitHub Intégration d'Actions pour les détails d'implémentation dans GitHub Intégration d'Actions.