Gestion des informations d'identification
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complète pour ce plugin.
Gérez vos identifiants de build iOS et Android localement pour des builds cloud faciles à utiliser.
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ stocke vos informations de build
__CAPGO_KEEP_0__Capgo CLI stores your build credentials — jamais sur les serveurs de __CAPGO_KEEP_0__. — never on Capgo’s servers. By default they live in one fichier global, partagé par tous vos projets. ~/.capgo-credentials/credentials.jsonPasser à --local pour les conserver par projet au lieu. .capgo-credentials.json Lorsque vous exécutez une build, les informations de build 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) 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 les CI/CD, ou supprimer les informations d'identification d'une plateforme : .env Fenêtre de terminal
bunx @capgo/cli@latest build credentials manage| Description | Note: The following tokens were left unchanged: Cloudflare, Capacitor, GitHub, Capgo, code, API, SDK, CLI, npm, bun |
|---|---|
--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 informations d'identification
Sous-section intitulée “Enregistrer les informations d'identification”Stockez vos informations de build localement pour une utilisation automatique :
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Mettre à jour les informations d'identification
Sous-section intitulée “Mettre à jour les informations d'identification”Mettre à jour partiellement les informations d'identification existantes sans les fournir à nouveau intégralement :
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 Exemple — ajoutez un profil d'extension aux informations d'identification existantes : Fenêtre de terminal --overwrite-ios-provisioning-map.
Copier dans le presse-papier
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"Example — add an extension profile to existing credentials: __CAPGO_KEEP_0__ save but all are optional — only the fields you provide are updated.
Lister les identifiants
Section intitulée « Lister les identifiants »Afficher les identifiants 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 identifiants
Section intitulée « Effacer les identifiants »Supprimer les identifiants 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 identifiants
Section intitulée « Migrer les identifiants »Convertir 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 informations d'identification, les convertit en CAPGO_IOS_PROVISIONING_MAP, et supprime les clés héritées. Voir Migration depuis un Profil Unique pour plus de détails.
Enregistrement des informations d'identification iOS
Titre de la section « Enregistrement des informations d'identification 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> | Correspondance de profil de provisionnement (bundleId=path). Répétable pour les applications à plusieurs cibles. Si seulement un profil et pas de préfixe bundleId, CLI se déduit automatiquement 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> | App Store Connect Identifiant de l'équipe | Oui |
--ios-distribution <mode> | Mode de distribution : app_store ou ad_hoc | Non |
--output-upload | Activer un lien de téléchargement temporaire Capgo pour l'artifact de la build | Non (par défaut : false) |
--output-retention <seconds> | Combien de temps conserver les sorties de build (par exemple 3600s) | Non (par défaut : 3600s) |
--skip-build-number-bump | Passer à côté de l'incrémentation automatique du numéro de build | Non |
Qu'est-ce qui est stocké
Sous-section intitulée « Qu'est-ce qui est stocké »Lorsque vous enregistrez les informations de compte iOS, le 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) - Stocke les mots de passe et les identifiants en texte brut (seuls les 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 informations de l'application Android
Section intitulée « Enregistrement des informations de l'application 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 coffre-fort | Oui (version de production) |
--keystore-key-password <password> | Mot de passe pour l'alias de clé | Oui (lancement) |
--keystore-store-password <password> | Mot de passe du coffre-fort | Oui (lancement) |
--play-config <path> | Chemin du compte de service JSON de Google Play Store | Oui (soumission) |
Qu'est-ce qui est stocké
Section intitulée “Qu'est-ce qui est stocké”Lorsque vous enregistrez les informations de connexion Android, le CLI:
- Lit le coffre-fort et le fichier JSON de compte de service
- Les convertit en codage base64
- Les enregistre dans
~/.capgo-credentials/credentials.jsonou.capgo-credentials.jsonavec--local) - Stocke les mots de passe et les alias sous forme de texte clair (seulement des fichiers locaux)
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": "..." }}Utilisation des informations de connexion sauvegardées
Section intitulée « Utilisation des informations de connexion sauvegardées »Une fois que vous avez sauvegardé vos 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 surcharger les informations de connexion sauvegardées à l'aide de variables d'environnement :
# 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)
- Mot de passe sauvegardé (
~/.capgo-credentials/credentials.json, ou local).capgo-credentials.json) - Aucun mot de passe (priorité la plus basse)
Afficher les Mot de passe sauvegardés
Section intitulée “Afficher les Mot de passe sauvegardés”Liste des mot de passe que vous avez 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.Pratiques de Sécurité
Section intitulée « 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 -
Ne jamais Commeter les Identifiants
Fenêtre de Terminal # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreLe fichier global vit dans votre répertoire personnel, en dehors du dépôt.
-
Séparer les Identifiants
- Utilisez des identifiants différents pour le développement local par rapport à CI/CD
- Rotez régulièrement les identifiants
- N'échangez pas les identifiants entre les membres de l'équipe
Utilisation de CI/CD
Section intitulée « Utilisation de CI/CD »Pour les environnements CI/CD, préférez les variables d'environnement aux identifiants enregistrés. Exporter un fichier .env prêt à l'emploi
(recommandé) .env Section intitulée « Exporter un fichier .env prêt à l'emploi (recommandé) »
Au lieu de coder en base64 chaque fichier d'identifiant manuellement (voirInstead of base64-encoding each credential file by hand (see en 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) contenant chaque secret enregistré sous forme de variable d'environnement — chaque ligne est un secret à ajouter à votre fournisseur CI/CD. Les deux plateformes sont combinées par défaut ; ajoutez --platform ios ou --platform android pour 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 | Certificat P12/PKCS12 pour la signature de code | Base64 | Oui (libération) |
CAPGO_IOS_PROVISIONING_MAP | Carte JSON des ID de paquet vers les données de profil de provisionnement | Chaîne JSON | Oui (libération) |
P12_PASSWORD | Mot de passe pour le certificat P12 | Texte brut | Facultatif |
APPLE_KEY_ID | Clé ID de la clé App Store Connect API | Chaîne de caractères (par exemple, « ABC1234567 ») | Voir la note¹ |
APPLE_ISSUER_ID | ID émetteur de la clé App Store Connect API | Chaîne de UUID | Voir note¹ |
APPLE_KEY_CONTENT | Clé App Store Connect API (fichier .p8) | Base64 | Voir note¹ |
APP_STORE_CONNECT_TEAM_ID | ID d'équipe développeur Apple | Chaîne (par exemple, « XXXXXXXXXX ») | Oui |
CAPGO_IOS_DISTRIBUTION | Mode de distribution : app_store ou ad_hoc | Chaîne | Non |
Identifiants Android :
| Variable | Description | Format | Obligatoire |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Fichier de clés pour la signature de l'APK/AAB | Base64 | Oui (production) |
KEYSTORE_KEY_ALIAS | Alias de clé au sein du fichier de clés | Chaîne de caractères | Oui (production) |
KEYSTORE_KEY_PASSWORD | Mot de passe de l'alias de clé | Texte en clair | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe pour le fichier du coffre-fort | Texte brut | Oui* |
PLAY_CONFIG_JSON | Fichier JSON de compte Google Play service | 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 de Capgo
Section intitulée “GitHub Exemples d'actions de Capgo”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
- Jalons d'audit pour l'utilisation des secrets
Rotation des credenciaux
Sous-titre “Rotation des credenciaux”Rotez régulièrement vos credenciaux :
- iOS: Générez de nouveaux certificats et des API clés tous les ans
- Android: Modifiez les mots de passe des clés de stockage annuellement
- After les changements d'équipe: Rotation lorsque les membres de l'équipe quittent
Mettre à jour les informations d'identification enregistrées :
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Diagnostic
Section intitulée « Diagnostic »« Aucune information d'identification trouvée »
Section intitulée « Aucune information d'identification trouvée »Si l'éditeur indique que les informations d'identification n'ont pas é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érifier l'existence du fichier de données d'identification:
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
Section intitulée ““Accès refusé” lors de la lecture des informations d'identification”Réparer les permissions du fichier :
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localLes identifiants ne sont pas utilisés
Section intitulée “Les identifiants 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 credentialsEffacer et réenregistrer les identifiants
Section intitulée “Effacer et réenregistrer les identifiants”Si les identifiants semblent corrompus :
# 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 restaurer 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 -
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 informations d'identification existantes sauvegardées dans l'ancien format (simple)
BUILD_PROVISION_PROFILE_BASE64), exécutez :Fenêtre de terminal bunx @capgo/cli@latest build credentials migrate --platform iosCette commande convertit le profil legacy en un
CAPGO_IOS_PROVISIONING_MAPet supprime les anciensBUILD_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)
Onglet Terminal unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
L'emplacement du fichier
Section intitulée « L'emplacement du fichier »Les informations d'identification sont stockées dans un fichier JSON unique :
- Globale (par défaut) :
~/.capgo-credentials/credentials.json— partagée avec tous vos projets - Locale (avec
--local):.capgo-credentials.jsondans le répertoire root de votre projet — remplace le fichier global pour ce projet
Le fichier est créé automatiquement la première fois que vous enregistrez les informations d'identification. Ajoutez .capgo-credentials.json à votre .gitignore de sorte que les informations d'identification par projet ne sont jamais commitées.
Étapes suivantes
Section intitulée “Étapes suivantes”- Démarrage - Créez votre première build
- Constructions iOS - Configuration de construction spécifique à iOS
- Constructions Android - Configuration de construction spécifique à Android
- Dépannage - Problèmes courants et solutions
Besoin d'aide?
Section intitulée « Besoin d'aide ? »- 📚 Guide de dépannage
- 💬 Communauté Discord
- 📧 Courriel : support@capgo.app
Continuez de Managing Credentials
Section intitulée « Continuez de Managing Credentials »Si vous utilisez Gestion des identifiants pour planifier l'automatisation CI/CD, connectez-le avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Rendus natifs pour le flux de travail du produit dans Capgo Rendus natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour le détail d'implémentation dans Intégration CI/CD, et GitHub Intégration d'actions pour le détail d'implémentation dans GitHub Intégration d'actions.