Skip to content

Kimlik Doğrulama ​

Chainabit, kimliği doğrulanmış API istekleri için JWT bearer token'ları kullanır. Kimlik doğrulamanın iki temel yolu vardır:

  1. Tarayıcı girişi — chainabit auth login komutu tarayıcınızda bir cihaz onay sayfası açar.
  2. Geliştirici token'ları — CI/CD hatları ve otomasyon betikleri için kapsamlı, süre sınırlı kimlik bilgileri.

CLI: Tarayıcı Girişi (Önerilen) ​

chainabit auth login komutunu bayrak olmadan çalıştırın. CLI tarayıcınızı otomatik olarak açar.

bash
chainabit auth login

Neler olur:

  1. CLI, Chainabit API'sine bağlanır ve kısa ömürlü bir onay kodu alır.
  2. Tarayıcınız, kod önceden doldurulmuş halde cihaz onay sayfasını açar.
  3. Oturum açın (veya zaten açıksınız) ve Approve login düğmesine tıklayın.
  4. CLI onayı algılar ve oturumunuzu ~/.chainabit/config.json dosyasına kaydeder.

Tarayıcı otomatik olarak açılmazsa, terminalde yazdırılan URL'yi kopyalayıp elle açın.

Etkileşimsiz / başsız giriş ​

Betikler ve CI için bir geliştirici token'ı kullanın (aşağıya bakın):

bash
export CHAINABIT_TOKEN=YOUR_DEVELOPER_TOKEN
chainabit workspace use ws_yourworkspace
chainabit ai session list

CLI: CI/CD için Geliştirici Token'ları ​

Geliştirici token'ları, bir kez oluşturup ortamınızda sakladığınız kişisel, kapsamlı kimlik bilgileridir. Otomasyon ve CLI iş akışları için önerilen yaklaşımdır.

Geliştirici token'ı oluşturma ​

bash
chainabit auth keys create "github-actions" --ttl 90 --scope execution:run

Ham token yalnızca bir kez gösterilir. Hemen kopyalayın.

API key created: YOUR_DEVELOPER_TOKEN
This key will not be shown again.

To use in CI/CD:
  export CHAINABIT_TOKEN=YOUR_DEVELOPER_TOKEN
  chainabit workspace use <workspace-id>

İsteğe bağlı bayraklar:

bash
chainabit auth keys create "wallet-bot" --ttl 30 --scope wallet:read --scope execution:run
chainabit auth keys create "account-bot" --ttl 30 --account <account-uuid> --scope execution:run

Token'ı kullanma ​

CI ortamınızda CHAINABIT_TOKEN değerini ayarlayın (GitHub Actions secret, .env dosyası vb.):

bash
CHAINABIT_TOKEN=YOUR_DEVELOPER_TOKEN chainabit ai session list

CLI, cbt_live_... token'larını doğrudan API'ye karşı doğrular. Daha eski sunucularla konuşurken otomatik olarak eski değişim akışına geri dönebilir.

Token'ları yönetme ​

bash
chainabit auth keys list
chainabit auth keys revoke <id>

API: Parola ile Giriş ​

Kullanıcı adı/parola ile doğrudan API erişimi (desteklenen ön yüzlerden bir captcha token'ı gerektirir):

bash
curl -X POST "$BASE_URL/auth/login" \
  -H "Content-Type: application/json" \
  -H "x-turnstile-token: <captcha-token>" \
  -d '{
    "identifier": "you@example.com",
    "password": "yourPassword123"
  }'

Yanıt:

json
{
  "data": {
    "userId": "uuid",
    "email": "you@example.com",
    "tokens": {
      "accessToken": "eyJ...",
      "refreshToken": "eyJ...",
      "expiresIn": 900,
      "tokenType": "bearer"
    }
  }
}

expiresIn, erişim token'ının saniye cinsinden ömrüdür (varsayılan olarak 900 — 15 dakika); bu değeri sabit kodlamak yerine yeni bir token almak için refresh token'ı kullanın. Gerçek yanıt, birinci taraf Chainabit istemcileri için ek hesap bağlamı da içerir (abonelik, yetkilendirmeler, profil, çalışma alanları, tercihler) — yalnızca userId, email ve tokens alanlarını kararlı, belgelenmiş sözleşme olarak kabul edin; geri kalanı harici entegrasyonlar için sürümlenmemiştir ve şekli önceden haber verilmeden değişebilir.


Erişim Token'ını Kullanma ​

bash
curl "$BASE_URL/ai/sessions" \
  -H "Authorization: Bearer $TOKEN"

Oturumu Yenileme ​

bash
chainabit auth refresh

Veya API üzerinden:

bash
curl -X POST "$BASE_URL/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{"refreshToken":"'"$REFRESH_TOKEN"'"}'

Yenileme token'ları tek kullanımlıktır. Yanıtta dönen yeni yenileme token'ını saklayın.


Ortam Değişkenleri ​

DeğişkenAçıklamaÖrnek
CHAINABIT_TOKENErişim token'ı veya geliştirici token'ı (cbt_live_...)Giriş yapmadan kimlik doğrulamayı önceden sağlar
CHAINABIT_BASE_URLAPI temel URL'sihttps://api.chainabit.com/api/v1
CHAINABIT_APP_BASE_URLChainabit uygulama kaynağıhttps://chainabit.com
CHAINABIT_WORKSPACE_IDVarsayılan çalışma alanı kimliğiÇalışma alanını otomatik seçer

İlgili ​

Built with purpose.