API Clés
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plug-in.
Les clés API sont utilisées pour authentifier les requêtes vers le Capgo API. Les clés sont spécifiques à l'organisation et peuvent être affectées de rôles RBAC pour un contrôle d'accès fine-grain. Chaque clé peut également avoir une date d'expiration optionnelle et peut être créée sous forme de « clé sécurisée » (hachée) où la valeur en texte brut n'est visible qu'une seule fois.
Utilisation d'une clé API
Section intitulée « Utilisation d'une clé API »Utilisez l'en-tête d'authentification documentée par l'endpoint. Pour les requêtes avec clé API-clé, authorization est accepté :
curl -H "authorization: YOUR_API_KEY" https://api.capgo.app/...Certains endpoints acceptent également une en-tête de clé dédiée. Le Canaux API accepte authorization ou capgkey ; utilisez l’une de ces en-têtes pour l’automatisation de la chaîne de prévisualisation.
Permissions RBAC
Section intitulée « Permissions RBAC »Les clés API utilisent le même système de contrôle d'accès basé sur les rôles (RBAC) que les comptes utilisateur. Lors de la création ou de la gestion de clés à travers l'application web ou API, vous affectez des rôles à deux niveaux :
- Rôle d'organisation — Définit les permissions de base de la clé à l'échelle de l'ensemble de l'organisation (par exemple,
org_adminouorg_member). - Rôles d'application — Permissions par application (par exemple,
app_admin,app_developer,app_uploader,app_readerouapp_preview).
Si une clé API a des liens de rôl’explicites, seuls ces liens sont évalués pour les vérifications d'autorisation. Les permissions personnelles du propriétaire de la clé ne sont pas héritées par la clé.
Automatisation du canal de prévisualisation
Sous-titre « Automatisation du canal de prévisualisation »Se lier app_preview seul au canal de prévisualisation de l'application pour la CI qui crée un canal de prévisualisation temporaire et non public, charge et promeut un bundle, puis supprime les deux.
{ "name": "PR preview key", "hashed": true, "bindings": [ { "role_name": "app_preview", "scope_type": "app", "org_id": "<OWNING_ORG_UUID>", "app_id": "<APP_UUID>" } ]}org_id est l'UUID de l'organisation propriétaire de l'application. app_id est l'UUID interne du registre de l'application, et non l'identifiant public de l'application utilisé par les commandes CLI (par exemple, com.example.app. Le lien reste lié à l'organisation même si la clé n'a pas de rôl’organisationnel.
L'appel d'application inclut uniquement app_preview rôl’inclut uniquement app.read, app.read_bundles, app.upload_bundle, et app.create_channel. Lorsque cette clé crée un canal, Capgo ajoute automatiquement un channel_preview liaison sur le nouveau canal créé. Cette liaison enfant accorde channel.read, channel.promote_bundle, et channel.delete seulement pour le canal que la clé a créé.
app_preview retient app.read, donc ce n'est pas une isolation stricte de lecture de canal : la clé peut lister les métadonnées de canal dans l'application sélectionnée. La liaison enfant automatique limite mutations de cycle de vie à le canal que la clé a créé.
Capgo enregistre la clé de prévisualisation d'application qui a téléchargé chaque paquet. La clé peut promouvoir uniquement son propre paquet vers chaque canal de prévisualisation qu'elle crée. Elle n'a accès à aucun cycle de vie de canal pour un canal existant par défaut/main, un canal créé par une autre clé de prévisualisation ou un paquet d'une autre clé. Pour ce flux de travail, omitt public et ne jamais utiliser --default.
Utilisez channel delete <preview-channel> <public-app-id> --delete-bundle pour la mise à jour. C'est une route de mise à jour atomique, vérifiée en termes d'ownership, de prévisualisation ; elle supprime uniquement le canal de prévisualisation de la clé appelante et le bundle lié. app_preview ne concède pas de droits génériques bundle.delete.
Pour la configuration du tableau de bord et un exemple complet de CLI, voir Utilisez une clé de prévisualisation d'application pour les workflows de prévisualisation.

Permission de création d'organisation
Titre de la section « Autorisation de création d'organisation »La création d'organisations avec une clé API utilise désormais une permission globale explicite : org.create.
Cette permission est séparée des liens de rôle normal org/app car une nouvelle organisation n'existe pas encore lorsque POST /organization/ est appelé. Pour créer des organisations avec une clé API :
- La clé API doit inclure
org.createenglobal_permissions. - La même clé API doit également avoir une organisation-scopée
org_adminouorg_super_adminLa clé __CAPGO_KEEP_0__ doit également avoir une organisation-scopée - New API keys do not receive
org.createLa clé __CAPGO_KEEP_0__ doit également avoir une organisation-scopée ou lors de la création ou de la modification d'une clé RBAC API dans le tableau de bord. - Les clés API existantes avec des droits d'écriture pour les administrateurs/super administrateurs d'organisation ont été mises à jour avec
org.createafin que les intégrations existantes puissent continuer à créer des organisations.
Lorsqu'une clé API crée une organisation, Capgo attribue automatiquement la même clé API à org_super_admin sur l'organisation nouvellement créée. Cela permet à l'intégration de gérer l'organisation qu'elle vient de créer sans avoir besoin d'une liaison de rôle manuelle séparée.
Si vous créez une clé API à l'aide de API, incluez global_permissions en même temps que la liaison d'administrateur d'organisation :
{ "name": "Provisioning key", "hashed": true, "bindings": [ { "role_name": "org_admin", "scope_type": "org", "org_id": "00000000-0000-0000-0000-000000000000" } ], "global_permissions": ["org.create"]}org.create se limite à la création d'organisations. La suppression d'une organisation nécessite toujours les droits de suppression sur l'organisation cible, généralement à travers org_super_admin.
Clés sécurisées (hachées)
Titre de la section « Clés sécurisées (hachées) »Lors de la création d'une clé sécurisée, le serveur génère le matériau de clé et retourne la valeur en clair une seule fois. Seule une hachage est stockée. Cela signifie :
- La clé au format texte ne peut pas être récupérée après sa création.
- La régénération produit une nouvelle clé au format texte (affichée une fois) et met à jour la hache stockée.
- Les clés hachées sont recommandées pour l'utilisation en production.
Certaines organisations imposent des clés hachées via la enforce_hashed_api_keys Expiration
Sous-section intitulée « Expiration »
Les clés peuvent avoir une date d'expiration facultative. Les clés expirées sont rejetées au niveau de la vérification des permissions.Les politiques d'organisation peuvent imposer :
Expiration obligatoire
- Section titled “Expiration” (
require_apikey_expiration) — Toutes les nouvelles clés doivent avoir une date d'expiration. - Maximum TTL (
max_apikey_expiration_days) — La date d'expiration ne peut pas être plus éloignée de N jours.
Meilleures Pratiques de Sécurité
Section intitulée « Meilleures Pratiques de Sécurité »- Principe de Moindre Privilège: Attribuez le rôle le plus restrictif qui permet toujours à votre intégration de fonctionner
- Rotation Régulière: Régénérez vos clés API périodiquement à l'aide de la fonctionnalité de régénération
- Stockage Sécurisé: Stockez les clés API de manière sécurisée et n'y commettez jamais de modifications dans le contrôle de version
- Utilisation de Clés HachéesCréer des clés sécurisées (hachées) pour les intégrations de production
- Fixer l'expirationCréer toujours une date d'expiration sur les clés utilisées pour l'accès temporaire ou CI/CD
- Restrictions de portéeCréer des clés scoping spécifiques aux applications avec le rôle minimum requis
Utilisations courantes
Intégration CI/CD- : Créer des clés scoping spécifiques aux applications avec leou
app_uploaderCanal de prévisualisation PRapp_developer: Créer toujours une date d'expiration sur les clés utilisées pour l'accès temporaire ou CI/CD - Restrictions de portée : Restricter les clés à des applications spécifiques avec le rôle minimum requis: Utilisez
app_previewces clés uniquement sur l'application de prévisualisation ou les applications lorsque la CI doit télécharger un bundle, créer un canal temporaire et nettoyer atomiquement son propre canal et son bundle. - Automatisation de la Déploiement: Utilisez les clés avec le
app_developerrôle pour les scripts de déploiement automatisés. - Outils de Surveillance: Créez des clés avec le
app_readerrôle pour les intégrations de surveillance externes. - Accès Administratif: Utilisez les clés avec le
org_adminrôl’avec parcimonie pour les outils administratifs. - Intégrations de Tiers: Créez des clés restreintes à des applications spécifiques avec le rôle requis minimum.
- Provisionnement d'organisation: Utilisez un
org_adminouorg_super_admin: Créez des clés RBAC avec un rôle spécifique pour des automatisations fiables qui doivent créer des organisations.org.createContinuez de __CAPGO_KEEP_0__ Clés
Sous-titre de section intitulée « Continuez de API Clés »
: Si vous utilisez API Clés pour planifier l'authentification et les flux de comptes, connectez-l’avec @API/__CAPGO_KEEP_1__-login-social: Utilisez __CAPGO_KEEP_0__ Clés API Keys : Utilisez __CAPGO_KEEP_0__ Clés @capgo/capacitor-social-login pour les détails d'implémentation dans @capgo/capacitor-login-social, @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-biométrique-natif pour les détails d'implémentation dans @capgo/capacitor-biométrique-natif, Authentification à deux facteurs pour les détails d'implémentation dans l'authentification à deux facteurs, et L'authentification unique (Entreprise) pour les détails d'implémentation dans l'authentification unique (Entreprise).