Clés API
Copiez un prompt de configuration avec les étapes d'installation et le guide markdown complet pour ce plugin.
Les API clés 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 API clé
Section intitulée « Utilisation d'une API clé »Utilisez l'en-tête d'authentification documentée par l'endpoint. Pour les requêtes 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 Les API de la chaîne acceptent authorization ou capgkeyUtilisez l'une de ces en-têtes pour l'automatisation de la préversion.
Permissions RBAC
Section intitulée “Permissions RBAC”Les API clés 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é pour l'ensemble de l'organisation (par exemple,
org_adminouorg_member). - App roles — Autorisations par application (par exemple,
app_admin,app_developer,app_uploader,app_reader, orapp_preview).
Si une clé API a des liens de rôl’explicites, seuls les liens de liaison Les clés sont évaluées pour les vérifications d'autorisation. Les permissions personnelles du propriétaire de la clé ne sont pas héritées par la clé.
Afficher l'automatisation du canal de prévisualisation
Prévisualisation de l'automatisation du canalLier app_preview Seulement pour l'application de prévisualisation pour CI qui crée un canal de prévisualisation temporaire non public, envoie 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. La liaison reste liée à l'organisation même lorsque la clé n'a pas de rôl’organisationnel.
Le rôle de l'application app_preview comprend 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 dans lequel la clé a été créée.
app_preview retient app.read, ce n'est pas une isolation stricte de lecture de canal : la clé peut énumérer les métadonnées de canal dans l'application sélectionnée. Les liaisons enfants automatiques limitent mutations de cycle de vie à la chaîne la clé créée.
Capgo enregistre la clé de prévisualisation de l'application qui a téléchargé chaque bundle. La clé peut promouvoir uniquement son propre bundle vers chaque canal de prévisualisation qu'elle crée. Elle n'a pas d'accès aux mutations de cycle de vie d'un canal existant par défaut/main, d'un canal créé par une autre clé de prévisualisation ou d'un bundle appartenant à une autre clé. Pour ce workflow, omettez public et n'utilisez jamais --default.
Utilisez channel delete <preview-channel> <public-app-id> --delete-bundle Cette route de nettoyage est atomique et vérifie l'appartenance. Elle supprime uniquement le canal de prévisualisation et le bundle lié à la clé appelante. app_preview ne concède pas d'accès générique bundle.delete.
Pour la configuration du tableau de bord et un exemple complet CLI , voir Use an App Preview key for preview workflows.

La permission de création d'organisation
Section intitulée « La permission 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 liaisons de rôle normales d'org/app car une nouvelle organisation n'existe pas encore lorsque POST /organization/ est appelée. Pour créer des organisations avec une clé API :
- The API clé doit inclure
org.createinglobal_permissions. - La même clé API doit également avoir une organisation actuelle
org_adminouorg_super_adminou - La clé API doit inclure
org.createpar défaut. Activez Les nouvelles clés __CAPGO_KEEP_0__ ne reçoivent pas en créant ou en éditant une clé RBAC API dans le tableau de bord. - Existing administrateur d'organe capable d'écrire/super administrateur API clés ont été réapprovisionnées avec
org.createpermettre aux intégrations existantes de 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 créée récemment. Cela permet à l'intégration de gérer l'organisation qu'elle a créée 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'org :
{ "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 seulement s'applique à la création d'organisations. La suppression d'une organisation nécessite toujours la permission de suppression sur l'organisation cible, généralement via org_super_admin.
Clés sécurisées (hachées)
Sous-titre « 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 fois. Seule une hache est stockée. Cela signifie :
- La clé en clair ne peut pas être récupérée après la création.
- La régénération produit une nouvelle clé en clair (affichée une fois) et met à jour la hache stockée.
- Les clés hachées sont recommandées pour une utilisation en production.
Certaines organisations imposent des clés hachées via la enforce_hashed_api_keys org policy.
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 (
require_apikey_expiration) — All new keys must have an expiry. - Maximum TTL (
max_apikey_expiration_daysLa date d'expiration ne peut pas être postérieure de plus de N jours.
Meilleures Pratiques de Sécurité
Section intitulée « 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 les modifications de version.
- Utilisation de clés hachées : Créez des clés sécurisées (hachées) pour les intégrations de production
- Expiration définie : Définissez toujours une date d'expiration sur les clés utilisées pour un accès temporaire ou CI/CD
- Restrictions de portée: Limitez les clés à des applications spécifiques avec le rôle requis minimum
Utilisations courantes
Sous-titre : Utilisations courantes- Intégration CI/CD: Créez des clés scoping spécifiques aux applications avec le
app_uploaderouapp_developerrôle, et définir une date d'expiration. - Canaux de prévisualisation de PR: Use
app_previewon only the preview app or apps when CI needs to upload a bundle, create a temporary channel, and atomically clean up its own channel and bundle. - Automatisation de déploiementAutomatisation de déploiement
app_developerrôle pour les scripts de déploiement automatisés. - Outils de suivi: Créez des clés avec le
app_readerrôle pour les intégrations de suivi externes. - Accès administrateur: Utilisez des clés avec le
org_adminrôl’avec parcimonie pour les outils administratifs. - Intégrations tierces: Créez des clés restreintes aux applications spécifiques avec le rôle requis minimum.
- Provisionnement de l'organisation: Utilisez un
org_adminororg_super_adminClé RBAC avecorg.createseulement pour l'automatisation fiable qui doit créer des organisations.
Continuez de API Clés
Sous-titre « Continuez de API Clés »Si vous utilisez API Clés pour planifier l'authentification et les flux de compte, connectez-l’avec @capgo/capacitor-connexion-social pour le détail d'implémentation dans @capgo/capacitor-connexion-social, @capgo/capacitor-passkey pour le détail d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-biométrie-native pour les détails d'implémentation dans @capgo/capacitor-native-biometric, Authentification à deux facteurs pour les détails d'implémentation dans l'authentification à deux facteurs, et SSO (Entreprise) pour les détails d'implémentation dans SSO (Entreprise).