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:
- Tarayıcı girişi —
chainabit auth loginkomutu tarayıcınızda bir cihaz onay sayfası açar. - 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.
chainabit auth loginNeler olur:
- CLI, Chainabit API'sine bağlanır ve kısa ömürlü bir onay kodu alır.
- Tarayıcınız, kod önceden doldurulmuş halde cihaz onay sayfasını açar.
- Oturum açın (veya zaten açıksınız) ve Approve login düğmesine tıklayın.
- CLI onayı algılar ve oturumunuzu
~/.chainabit/config.jsondosyası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):
export CHAINABIT_TOKEN=cbt_live_xxxx
chainabit workspace use ws_yourworkspace
chainabit ai session listCLI: 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
chainabit auth keys create "github-actions" --ttl 90 --scope execution:runHam 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:
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:runToken'ı kullanma
CI ortamınızda CHAINABIT_TOKEN değerini ayarlayın (GitHub Actions secret, .env dosyası vb.):
CHAINABIT_TOKEN=cbt_live_xxxx chainabit ai session listCLI, 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
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):
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:
{
"data": {
"userId": "uuid",
"email": "you@example.com",
"username": "yourname",
"tokens": {
"accessToken": "eyJ...",
"refreshToken": "eyJ...",
"expiresIn": 3600
}
}
}Erişim Token'ını Kullanma
curl "$BASE_URL/ai/sessions" \
-H "Authorization: Bearer $TOKEN"Oturumu Yenileme
chainabit auth refreshVeya API üzerinden:
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şken | Açıklama | Örnek |
|---|---|---|
CHAINABIT_TOKEN | Erişim token'ı veya geliştirici token'ı (cbt_live_...) | Giriş yapmadan kimlik doğrulamayı önceden sağlar |
CHAINABIT_BASE_URL | API temel URL'si | https://api.chainabit.com/api/v1 |
CHAINABIT_APP_BASE_URL | Chainabit uygulama kaynağı | https://chainabit.com |
CHAINABIT_WORKSPACE_ID | Varsayılan çalışma alanı kimliği | Çalışma alanını otomatik seçer |