API Schlüssel
Einen Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
API-Schlüssel werden zur Authentifizierung von Anfragen an den Capgo API verwendet. Schlüssel sind organisationsspezifisch und können Rollen für feinmaschige Zugriffssteuerung zugewiesen werden. Jeder Schlüssel kann auch eine optionale Ablaufzeit haben und kann als „sicher“ (gehashter) Schlüssel erstellt werden, wobei der Plain-Text-Wert nur einmal angezeigt wird.
Mit einem API-Schlüssel
Sektion mit dem Titel „Mit einem API-Schlüssel“Verwenden Sie den durch die Endpunkt dokumentierten Authentifizierungsheader. Für API-Schlüssel-Anfragen ist authorization Terminalfenster
curl -H "authorization: YOUR_API_KEY" https://api.capgo.app/...Terminalfenster Kanäle API akzeptiert authorization oder capgkeyVerwenden Sie einen dieser Header für die Automatisierung der Vorabkanal-Übersicht.
RBAC-Berechtigungen
Abschnitt mit dem Titel ‘RBAC-Berechtigungen’API-Schlüssel verwenden das gleiche rollenbasierte Zugriffssteuerungssystem wie Benutzerkonten. Wenn Sie bei der Erstellung oder Verwaltung von Schlüsseln über die Webanwendung oder API Rollen zuweisen, definieren Sie sie auf zwei Ebenen:
- Organisationsrolle — Definiert die Schlüssel-Basisberechtigungen für die gesamte Organisation (z. B.
org_adminoderorg_member). - App-Rollen — Per-App-Berechtigungen (z. B.
app_admin,app_developer,app_uploader,app_reader, oderapp_preview).
Wenn ein API-Schlüssel explizite Rollenzuweisungen hat, werden nur diese Zuweisungen für die Berechtigungsprüfungen ausgewertet. Die persönlichen Berechtigungen des Schlüsselbesitzers werden nicht durch den Schlüssel geerbt.
Vorschaukanalautomatisierung
Sektion mit dem Titel “Vorschaukanalautomatisierung”Binden app_preview nur an das Vorschau-App für CI, das eine temporäre, nicht öffentliche Vorschaukanal erstellt, ein Paket hochlädt und promotet und beide dann löscht.
{ "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 ist die UUID der Organisation, die das App gehört. app_id ist die interne UUID des App-Records, nicht die öffentliche App-Identifikator, der von CLI-Befehlen verwendet wird (z.B. com.example.app). Die Bindung bleibt organisationsgebunden, selbst wenn der Schlüssel keine organisatorischen Rollen hat.
Die App-Ebene app_preview enthält nur app.read, app.read_bundles, app.upload_bundle, und app.create_channel. Wenn diese Schlüssel eine Kanal erstellt, fügt Capgo automatisch eine channel_preview Zuordnung auf den neu erstellten Kanal hinzu. Diese untergeordnete Zuordnung gewährt channel.read, channel.promote_bundle, und channel.delete nur für den Kanal, den der Schlüssel erstellt hat.
app_preview behält app.read, also ist dies keine strikte Kanal-Leseisolation: Der Schlüssel kann die Kanal-Metadaten in der ausgewählten App auflisten. Die automatische untergeordnete Zuordnung beschränkt Lebenszyklusmutationen auf den Kanal, den der Schlüssel erstellt hat.
Capgo registriert den App-Vorschau-Schlüssel, der jeden Bundle hochgeladen hat. Der Schlüssel kann nur seinen eigenen Bundle auf jeden Vorschau-Kanal hochladen, den er erstellt. Er hat keinen Zugriff auf das Lebenszyklus eines bestehenden Default/Main-Kanals, einen von einem anderen Vorschau-Schlüssel erstellten Kanal oder einen anderen Schlüssels Bundle. Für diesen Workflow sollten Sie public und verwenden Sie sie nie --default.
Verwenden channel delete <preview-channel> <public-app-id> --delete-bundle für die Reinigung. Dies ist eine atomare, Eigentumsüberprüfungsprüfungsroute für die Reinigung; sie entfernt nur den aufrufenden Schlüssels Vorschaukanal und das damit verbundene Bundle. app_preview erstellt nicht generische bundle.delete.
Für die Einrichtung des Dashboards und einen vollständigen CLI-Beispiel, sehen Sie sich bitte Verwenden Sie einen App-Vorschau-Schlüssel für Vorschau-Workflows.

Diese Modi sind veraltet – verwenden Sie stattdessen RBAC-Rollen.
Abschnitt mit dem Titel ‘Organisationserstellungsberechtigung’Die Erstellung von Organisationen mit einem API-Schlüssel verwendet nun eine explizite globale Berechtigung: org.create.
Diese Berechtigung ist von normalen Org/App-Rollenbindungen getrennt, da eine neue Organisation noch nicht existiert, wenn POST /organization/ ist aufgerufen. Um Organisationen mit einem API-Schlüssel zu erstellen:
- Der API-Schlüssel muss
org.createinglobal_permissions. - Der gleiche API-Schlüssel muss auch eine aktuelle Organisationsskala
org_adminoderorg_super_adminDie gleiche __CAPGO_KEEP_0__-Schlüssel muss auch eine aktuelle Organisationsskala - New API keys do not receive
org.createDie gleiche __CAPGO_KEEP_0__-Schlüssel muss auch eine aktuelle Organisationsskala oder während der Erstellung oder Bearbeitung eines RBAC API-Schlüssels im Dashboard. - Bestehende schreibgeschützte Organisation-Admin/Überadmin-Schlüssel wurden mit API-Schlüsseln nachgefüllt.
org.createSo können bestehende Integrationsorganisationen weiterhin Organisationen erstellen.
Wenn ein API-Schlüssel eine Organisation erstellt, Capgo stellt automatisch denselben API-Schlüssel als org_super_admin auf der neu erstellten Organisation zu. Dies ermöglicht es der Integration, die Organisation, die sie gerade erstellt hat, ohne manuelle Rollebindung zu verwalten.
Wenn Sie einen API-Schlüssel über den API erstellen, fügen Sie global_permissions zusammen mit der Organisation-Admin-Bindung ein:
{ "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 gilt nur für die Erstellung von Organisationen. Die Löschung einer Organisation erfordert weiterhin die Löscherecht auf der Zielorganisation, typischerweise über org_super_admin.
Sichere (gehashpte) Schlüssel
Abschnitt mit dem Titel „Sichere (gehashpte) Schlüssel“Bei der Erstellung eines sicheren Schlüssels generiert der Server das Schlüsselmaterial und gibt die Klartextwerte einmal zurück. Nur ein Hash wird gespeichert. Das bedeutet:
- Der Textschlüssel kann nicht abgerufen werden nach der Erstellung.
- Die Regeneration erzeugt einen neuen Textschlüssel (angezeigt einmal) und aktualisiert den gespeicherten Hash.
- Gesicherte Schlüssel werden für die Produktionsverwendung empfohlen.
Einige Organisationen erzwingen gesicherte Schlüssel über die enforce_hashed_api_keys Ablaufdatum
Abschnitt mit dem Titel „Ablaufdatum“
Schlüssel können ein optionales Ablaufdatum haben. Abgelaufene Schlüssel werden im Berechtigungskontrollschicht abgelehnt.Organisationsrichtlinien können erzwingen:
Pflichtablaufdatum
- Section titled “Expiration” (
require_apikey_expiration) — Alle neuen Schlüssel müssen eine Ablaufzeit haben. - Maximale TTL (
max_apikey_expiration_days) — Die Ablaufzeit darf nicht mehr als N Tage in der Zukunft liegen.
Sicherheitsbest Practices
Abschnitt mit dem Titel „Sicherheitsbest Practices“- Prinzip der geringsten Rechte: Zuweisen Sie dem integrierten System die restriktivste Rolle, die es noch immer ausführen lässt
- Regelmäßige Rotation: Regenerieren Sie Ihre API-Schlüssel regelmäßig mithilfe der Regenerationsfunktion
- Sichere Speicherung: Speichern Sie API-Schlüssel sicher und verpflichten Sie sie nie in die Versionskontrolle
- Verwendung von gehashten Schlüsseln: Erstellen Sie sichere (gehashte) Schlüssel für Produktionsintegrationen
- Ablaufdatum setzen: Setzen Sie immer ein Ablaufdatum für Schlüssel, die für temporäre oder CI/CD-Zugriffe verwendet werden
- Bereichsbeschränkungen: Beschränken Sie Schlüssel auf bestimmte Apps mit dem minimal erforderlichen Rolle
Gemeinsame Anwendungsfälle
Abschnitt mit dem Titel “Gemeinsame Anwendungsfälle”- CI/CD-Integration: Erstellen Sie Schlüssel, die auf bestimmte Apps mit dem
app_uploaderoderapp_developerRolle und setzen Sie ein Ablaufdatum. - PR-Vorschau-Kanäle: Verwenden
app_previewnur auf der Vorab-Anzeige oder -Anzeigen, wenn CI eine Bundle hochladen, einen temporären Kanal erstellen und seinen eigenen Kanal und Bundle atomar bereinigen muss. - Automatisierte Bereitstellung: Verwenden Sie Schlüssel mit der
app_developerRolle für automatisierte Bereitstellungs-Skripte. - Überwachungsinstrumente: Erstellen Sie Schlüssel mit der
app_readerRolle für externe Überwachungsinhalte. - Administratorzugriff: Verwenden Sie Schlüssel mit der
org_adminRolle sparsam für administrative Werkzeuge. - Drittanbieterintegrationen: Erstelle Schlüssel, die auf bestimmte Apps beschränkt sind und die Mindestanforderungen erfüllen.
- Organisationszuteilung: Verwende einen
org_adminoderorg_super_admin: Erstelle Schlüssel, die auf bestimmte Apps beschränkt sind und die Mindestanforderungen erfüllen.org.create: Verwende einen
Keep going from API Keys
Section titled “Keep going from API Keys”: Verwende einen API Keys : Verwende einen @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric, Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung und SSO (Unternehmen) für die Implementierungsdetails in SSO (Unternehmen).