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şichainabit 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=cbt_live_xxxx
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: cbt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxx
This key will not be shown again.

To use in CI/CD:
  export CHAINABIT_TOKEN=cbt_live_xxxx
  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=cbt_live_xxxx 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-captcha-token: <captcha-token>" \
  -d '{
    "identifier": "you@example.com",
    "password": "yourPassword123"
  }'

Yanıt:

json
{
  "data": {
    "userId": "uuid",
    "email": "you@example.com",
    "username": "yourname",
    "tokens": {
      "accessToken": "eyJ...",
      "refreshToken": "eyJ...",
      "expiresIn": 3600
    }
  }
}

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.