Gestion des identifiants
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Gérez vos identifiants de construction iOS et Android localement pour des builds cloud pratiques.
Vue d'ensemble
Section intitulée « Vue d'ensemble »Capgo CLI stocke vos identifiants de construction sur votre machine — jamais sur les serveurs de Capgo . Par défaut, ils vivent dans un monde fichier, ~/.capgo-credentials/credentials.jsonpartagé avec tous vos projets. Passer --local pour les conserver par projet in .capgo-credentials.json 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 Identifiants Interactivement
Gestion des Identifiants InteractivementLa méthode la plus rapide pour 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 les commandes par projet .capgo-credentials.json au lieu du fichier global |
Préférez des commandes scriptables une seule fois ? Utilisez les commandes individuelles ci-dessous.
Enregistrer les informations d'identification
Enregistrement des informations d'identificationEnregistrez vos informations de build localement pour un usage 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 fournir à nouveau.
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Le update commande utilise la fusion additive pour les profils de provisionnement — les nouveaux profils sont fusionnés avec les anciens. --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 d'actualisation accepte les mêmes options que save mais toutes sont facultatives — seuls les champs que vous fournissez sont mis à jour.
Lister les informations d'identification
Section titled “List Credentials”Voir les identifiants sauvegardé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 informations d'identification
Supprimer les informations d'identificationRemove saved credentials from your local machine:
# 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 informations d’identification
Section titled “Migrate Credentials”Convertir le format de profil unique ancien 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 Les identifiants, les convertit en CAPGO_IOS_PROVISIONING_MAPet supprime les clés legacy. Migration depuis un Profil Unique pour plus de détails.
Enregistrement des Clés iOS
Section intitulée « Enregistrement des Clés iOS »Exemple 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 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> | Mappage du 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 App Store Connect API | Voir la note¹ |
--apple-key-id <id> | ID de clé App Store Connect API | Voir la note¹ |
--apple-issuer-id <id> | ID émetteur App Store Connect API (UUID) | Voir la note¹ |
--apple-team-id <id> | ID d'équipe App Store Connect | Oui |
--apple-id <email> | Adresse e-mail Apple ID pour l'upload de mot de passe d'application (alternative au API). | Voir la note² |
--apple-app-specific-password <password> | Mot de passe d'application ("xxxx-xxxx-xxxx-xxxx) | Voir la note² |
--apple-app-id <id> | Numeric App Store Connect app ID (e.g. 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> | 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 | No |
Qu'est-ce qui est stocké
Titre de la section « Ce qui est stocké »When you save iOS credentials, the CLI:
- Lit les fichiers de certificat et de profil de provisioning
- 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 du fichier stocké :
{ "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" }}Enregistrer les informations d'identification Android
Enregistrement des identifiants AndroidExemple 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 coffre-fort | Oui (version de production) |
--keystore-key-password <password> | Mot de passe pour l'alias de clé | Oui (version de production) |
--keystore-store-password <password> | Mot de passe pour le coffre-fort | Oui (version de production) |
--play-config <path> | Chemin vers le fichier JSON du service Play Store | Oui (soumission) |
Qu'est-ce qui est stocké
Section intitulée « Qu'est-ce qui est stocké »When you save Android credentials, the CLI:
- Lit les fichiers JSON de clé de stockage et de compte de service
- Conversion en codage base64
- Stockage dans
~/.capgo-credentials/credentials.jsonou.capgo-credentials.jsonwith--local) - Stores passwords and alias as plain text (local files only)
Copier dans le presse-papier
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}Utilisation des 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 de connexion enregistrées (
~/.capgo-credentials/credentials.jsonou locales.capgo-credentials.json) - Aucune authentification (priorité la plus basse)
Afficher les informations d'authentification enregistrées
Voir les Identifiants SauvegardésListez vos identifiants sauvegardés :
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 »-
Autorisations 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 commettre les informations d'identification
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.
-
Informations d'identification séparées
- Utilisez des identifiants différents pour le développement local vs CI/CD
- Rotez régulièrement les informations d'identification
- Don’t share credentials between team members
CI/CD Usage
Section intitulée « Utilisation CI/CD »Pour les environnements CI/CD, préférez les variables d'environnement aux informations de connexion enregistrées.
Exportez un fichier prêt à l'emploi .env (recommandé)
Section intitulée « Exporter un fichier .env prêt à l'emploi (recommandé) »Au lieu de coder chaque fichier de clé en base64 manuellement (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"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 limiter à une seule.
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 pour iOS :
| Variable | Description | Format | Obligatoire |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Certificat P12/PKCS12 pour la signature de code | Chaîne 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é ID de App Store Connect API | Chaîne de caractères (par exemple, « ABC1234567 ») | Voir la note¹ |
APPLE_ISSUER_ID | ID émetteur App Store Connect API | Chaîne de UUID | Voir la note¹ |
APPLE_KEY_CONTENT | Clé App Store Connect API (.fichier p8 contenu) | Base64 | Voir la note¹ |
APP_STORE_CONNECT_TEAM_ID | ID d'équipe Apple Developer | Chaîne de caractères (par exemple, « XXXXXXXXXX ») | Oui |
CAPGO_IOS_DISTRIBUTION | Mode de distribution : app_store (par défaut) ou ad_hoc | String | 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 coffre-fort | Chaîne | Oui (version de production) |
KEYSTORE_KEY_PASSWORD | Mot de passe pour l'alias de clé | Texte en clair | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe pour le fichier de coffre-fort | Texte en clair | Oui* |
PLAY_CONFIG_JSON | Google Play service account JSON | 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 Actions Example
Exemple d'actions de “GitHub”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 }}Copier dans le presse-papier
Préparation des valeurs Base64Pour convertir vos fichiers de credenciaux 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 certificats
Section intitulée « Rotation de certificats »Rotez régulièrement vos certificats :
- iOS : Générez de nouveaux certificats et des clés API annuellement
- Android: Change keystore passwords annually
- Après les changements d'équipe : Rotez lorsque les membres de l'équipe quittent
Mettez à jour vos certificats enregistrés :
# 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 »« Aucun credencial trouvé »
Section intitulée « « Aucun credencial trouvé » »Si l'éditeur indique que pas de credenciaux ont été trouvés :
-
Vérifiez si les credenciaux sont sauvegardés:
Fenêtre de terminal bunx @capgo/cli@latest build credentials list -
Sauvegardez les credenciaux si ils 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 crédentials
Section intitulée ““Accès refusé” lors de la lecture des crédentials””Fixer les permissions du fichier :
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localLes crédentials ne sont pas utilisés
Section intitulée “Les crédentials ne sont pas utilisés””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 credentialsSauvegardez et réenregistrez les informations d'identification
Sauvegarde et re-sauvegarde des 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 depuis les variables d'environnement
Section intitulée « Migration depuis les variables d'environnement »If you’re currently using environment variables, you can migrate to saved credentials:
-
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 -
Enregistrer à 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 le profil de legacy simple en un
CAPGO_IOS_PROVISIONING_MAPet supprime l'ancienBUILD_PROVISION_PROFILE_BASE64etAPPLE_PROFILE_NAMEclés. -
Testez 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
Lieu du fichier
Emplacement du fichierLes identifiants sont stockés dans un seul fichier JSON.
- Globale (par défaut) :
~/.capgo-credentials/credentials.json— partagée par tous vos projets - Locale (avec
--local):.capgo-credentials.jsondans votre dossier 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 informations d'identification par projet ne sont jamais commitées.
Étapes suivantes
Section intitulée « Étapes suivantes »- Prise en main - Créez votre première build
- Builds iOS - Configuration de build spécifique à iOS
- Builds Android - Configuration de build spécifique à Android
- Troubleshooting - Problèmes courants et solutions
Aidez-vous?
Section titled “Need Help?”Continuez de là depuis la gestion des identifiants
Sous-titre « Continuez de là depuis la gestion des identifiants »Si vous utilisez Gestion des identifiants pour planifier l'automatisation CI/CD, connectez-l’avec 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 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.