API Kunci
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
API digunakan untuk mengautentikasi permintaan ke Capgo API. Kunci-kunci ini spesifik organisasi dan dapat diberikan peran RBAC untuk kontrol akses yang lebih halus. Setiap kunci juga dapat memiliki tanggal kedaluwarsa opsional dan dapat dibuat sebagai kunci “aman” (dihash) di mana nilai teks biasa hanya ditampilkan sekali.
Menggunakan kunci API
Bab berjudul “Menggunakan kunci API”Pakai header autentikasi yang dokumentasi oleh endpoint. Untuk permintaan kunci API, authorization Diterima:
curl -H "authorization: YOUR_API_KEY" https://api.capgo.app/...Beberapa endpoint juga menerima kunci header khusus. Channel __CAPGO_KEEP_0__ Channels API __CAPGO_KEEP_0__ authorization atau gunakan salah satu header untuk otomatisasi saluran pratinjau. capgkeyHak Akses RBAC
Bab berjudul “Hak Akses RBAC”
Kunci __CAPGO_KEEP_0__ menggunakan sistem kontrol akses berdasarkan peran (RBAC) yang sama seperti akun pengguna. Ketika membuat atau mengelola kunci melalui aplikasi web atau __CAPGO_KEEP_1__, Anda menetapkan peran pada dua tingkat:API keys use the same role-based access control (RBAC) system as user accounts. When creating or managing keys through the web app or API, you assign roles at two levels:
- – Menentukan hak akses dasar kunci di seluruh organisasi (misalnya, atau
org_adminPeran Aplikasiorg_member). - – Hak akses per-aplikasi (misalnya, , atau
app_admin,app_developer,app_uploader,app_readerJika kunci __CAPGO_KEEP_0__ memiliki pengikat peran eksplisit,app_preview).
If an API key has explicit role bindings, hanya ikatan-ikatan yang di evaluasi untuk pengecekan izin. Kunci pemilik pribadi tidak diwarisi oleh kunci.
Automasi saluran pratinjau
Saluran pratinjau otomatisIkatan app_preview hanya ke aplikasi pratinjau untuk CI yang membuat saluran pratinjau sementara, tidak publik, mengunggah dan mempromosikan paket, kemudian menghapus keduanya.
{ "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 adalah UUID organisasi yang menguasai aplikasi. app_id adalah UUID internal aplikasi, bukan identifikasi aplikasi publik yang digunakan oleh perintah CLI (misalnya, com.example.app). Ikatan tetap terikat organisasi bahkan ketika kunci tidak memiliki peran organisasi-wide.
Peran aplikasi app_preview termasuk hanya app.read, app.read_bundles, app.upload_bundleWhen itu membuat channel, __CAPGO_KEEP_0__ secara otomatis menambahkan app.create_channel. When that key creates a channel, Capgo automatically adds a channel_preview retains channel.read, channel.promote_bundle, jadi ini bukan isolasi channel baca yang ketat: kunci itu mungkin dapat menelusuri metadata channel dalam aplikasi yang dipilih. Batasan binding otomatis hanya membatasi channel.delete mutasi siklus hidup
app_preview ke channel yang dibuat oleh kunci itu. app.read__CAPGO_KEEP_0__ merekam kunci App Preview yang mengunggah setiap bundle. Kunci itu hanya dapat mempromosikan bundle sendiri ke setiap channel preview yang dibuatnya. Kunci itu tidak memiliki akses siklus hidup channel untuk channel default/main yang sudah ada, channel yang dibuat oleh kunci preview lain, atau bundle milik kunci lain. Untuk alur kerja ini, lewati dan jangan pernah menggunakan Gunakan
Capgo records the App Preview key that uploaded each bundle. The key can promote only its own bundle to each preview channel it creates. It has no channel lifecycle access to an existing default/main channel, a channel created by another preview key, or another key’s bundle. For this workflow, omit public . --default.
. Ketika kunci membuat channel, __CAPGO_KEEP_0__ secara otomatis menambahkan binding pada channel yang baru saja dibuat. Binding anak itu hanya berlaku untuk channel yang dibuat oleh kunci itu. Kunci itu dapat menelusuri metadata channel dalam aplikasi yang dipilih, tetapi tidak dapat mengubahnya. Kunci itu hanya dapat mempromosikan bundle sendiri ke setiap channel preview yang dibuatnya. Kunci itu tidak memiliki akses siklus hidup channel untuk channel default/main yang sudah ada, channel yang dibuat oleh kunci preview lain, atau bundle milik kunci lain. Untuk alur kerja ini, lewati dan jangan pernah menggunakan Gunakan channel delete <preview-channel> <public-app-id> --delete-bundle untuk membersihkan. Ini adalah rute membersihkan yang atomik, memeriksa kepemilikan; hanya menghapus kanal pratinjau dan paket terkait yang dipanggil. app_preview tidak memberikan hak umum bundle.delete.
Untuk pengaturan dashboard dan contoh lengkap CLI, lihat Gunakan Kunci Pratinjau Aplikasi untuk alur kerja pratinjau.

Izin pembuatan organisasi
Bagian berjudul “Izin pembuatan organisasi”Membuat organisasi dengan kunci API sekarang menggunakan izin global eksplisit: org.create.
Izin ini berbeda dari peran role org/app normal karena organisasi baru belum ada ketika POST /organization/ dipanggil. Untuk membuat organisasi dengan kunci API:
- Kunci API harus mencakup
org.createdalamglobal_permissions. - Kunci API yang sama juga harus memiliki organisasi yang berlaku saat ini-skoped
org_adminatauorg_super_adminpengikat. - Kunci API baru tidak menerima
org.createoleh default. Aktifkan Izinkan membuat organisasi ketika membuat atau mengedit kunci RBAC API di dashboard. - Kunci admin/super admin org yang dapat menulis/API sudah diisi ulang dengan
org.createagar integrasi yang sudah ada dapat terus membuat organisasi.
Ketika sebuah API key membuat organisasi, Capgo secara otomatis mengasignkan key yang sama API sebagai org_super_admin pada organisasi yang baru saja dibuat. Hal ini memungkinkan integrasi mengelola organisasi yang baru saja dibuat tanpa perlu peran pengikat manual yang terpisah.
Jika Anda membuat API key melalui API, pastikan global_permissions termasuk pengikat admin organisasi:
{ "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 hanya berlaku untuk membuat organisasi. Menghapus organisasi masih memerlukan izin hapus pada organisasi target, biasanya melalui org_super_admin.
Kunci (Hashed) yang Aman
Judul bagian “Kunci (Hashed) yang Aman”Ketika membuat kunci yang aman, server menghasilkan bahan kunci dan mengembalikan nilai teks biasa sekali. Hanya hash yang disimpan. Artinya:
- Kunci teks biasa tidak dapat diretrivekankan setelah pembuatan.
- Penggantian menghasilkan kunci teks sederhana baru (ditampilkan sekali) dan memperbarui hash yang disimpan.
- Dianjurkan untuk menggunakan kunci yang di-hash dalam penggunaan produksi.
Beberapa organisasi mengenakan kunci yang di-hash melalui enforce_hashed_api_keys kebijakan org.
Kadaluarsa
Bab berjudul “Kadaluarsa”Kunci dapat memiliki tanggal kadaluarsa opsional. Kunci yang telah kadaluarsa ditolak pada lapisan periksa izin.
Kebijakan organisasi dapat mengenakan:
- Wajib kadaluarsa (
require_apikey_expiration— Semua kunci baru harus memiliki tenggat waktu. - TTL Maksimum (
max_apikey_expiration_days— Masa kadaluarsa tidak boleh lebih dari N hari dari sekarang.
Praktik Keamanan Terbaik
Judul Bagian “Praktik Keamanan Terbaik”- Prinsip Privilegi Terendah: Tugaskan peran yang paling restriktif yang masih memungkinkan integrasi Anda berfungsi
- Penggantian Reguler: Ganti kunci API secara berkala menggunakan fitur regenerasi
- Penyimpanan yang Aman: Simpan kunci API secara aman dan jangan pernah komitnya ke pengendalian versi
- Gunakan Kunci Hashed: Buat kunci yang aman (dihash) untuk integrasi produksi
- Atur Masa Kadaluarsa: Selalu tetapkan tanggal kadaluarsa pada kunci yang digunakan untuk akses sementara atau akses CI/CD
- Keterbatasan Ruang Lingkup: Batasi kunci pada aplikasi tertentu dengan peran yang diperlukan minimal
Penggunaan Umum
Bagian berjudul “Penggunaan Umum”- Integrasi CI/CD: Buat kunci yang dikhususkan pada aplikasi tertentu dengan
app_uploaderatauapp_developerperan, dan tetapkan tanggal kadaluarsa. - Saluran Pratinjau PR: Gunakan
app_previewhanya pada aplikasi pratinjau atau aplikasi pratinjau yang hanya perlu mengunggah bundle, membuat saluran sementara, dan membersihkan saluran dan bundle sendiri secara atomik. - Automasi Pengaturan: Gunakan kunci dengan peran untuk skrip pengaturan otomatis.
app_developerAlat Pemantauan - : Buat kunci dengan peran untuk integrasi pemantauan eksternal.Akses Administrator
app_reader: Gunakan kunci dengan peran dengan hati-hati untuk alat administratif. - Integrasi Aplikasi Pihak Ketiga: Buat kunci yang terbatas pada aplikasi tertentu dengan peran yang diperlukan minimal.
org_adminPengaturan Organisasi - __CAPGO_KEEP_0____CAPGO_KEEP_0__
- __CAPGO_KEEP_0__: Gunakan kunci RBAC dengan
org_adminatauorg_super_adminKunci RBAC dengan hanya untuk otomatisasi yang dipercaya yang perlu membuat organisasi.org.createLanjutkan dari __CAPGO_KEEP_0__ Kunci
Judul bagian “Lanjutkan dari API Kunci”
Section titled “Keep going from API Keys”__CAPGO_KEEP_0__ Kunci API Keys @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-login-social untuk detail implementasi di @capgo/capacitor-login-social, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-login-social, untuk detail implementasi di @capgo/capacitor-login-social, untuk detail implementasi di @capgo/capacitor-login-social untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, Autentikasi Dua Faktor untuk detail implementasi di Autentikasi Dua Faktor, dan SSO (Enterprise) untuk detail implementasi di SSO (Enterprise).