Gelişmiş Kimlik Doğrulama Yöntemleri — OAuth 2.0, JWT, Anahtar Rotasyonu

Smart Money API'yi kurumsal ortamlarda entegre etmek için gelişmiş kimlik doğrulama mekanizmalarını öğrenin. OAuth 2.0 akışları, JWT token desenleri, güvenli anahtar rotasyonu ve çok faktörlü kimlik doğrulama uygulamalarını keşfedin.

21 Mart 2026 tarihinde yayınlandı 18 dakikalık okuma Gelişmiş

Kimlik Doğrulama Genel Bakış

Smart Money API, farklı uygulama mimarilerini, güvenlik gereksinimlerini ve kurumsal politikaları karşılamak üzere tasarlanmış çeşitli kimlik doğrulama yöntemlerini destekler. Bu yöntemleri anlamak, entegrasyonunuzun hem güvenli hem de performanslı olmasını sağlar.

Smart Money API'de kimlik doğrulama üç temel katmanda gerçekleşir:

  • API Anahtarları — Geliştirme ve basit entegrasyonlar için basit bearer token kimlik doğrulaması
  • JWT Token'ları — Dağıtık sistemler ve mikroservisler için durumsuz, kriptografik olarak imzalanmış token'lar
  • OAuth 2.0 — Üçüncü taraf entegrasyonları ve SaaS uygulamaları için yetki devri çerçevesi

Güvenlik İlkesi: Kimlik doğrulama bilgilerini istemci tarafı kodunda, loglarda, versiyon kontrolünde veya hata mesajlarında asla açığa çıkarmayın. Kimlik bilgilerini düzenli olarak ve herhangi bir güvenlik ihlali durumunda derhal değiştirin.

Her yöntemin belirgin avantajları vardır. API anahtarları, kimlik bilgilerinin depolanmasının kontrol edilebildiği backend-to-backend iletişiminde en iyi sonucu verir. JWT token'ları, paylaşılan bir durumun olmadığı dağıtık mimarilerde üstündür. OAuth 2.0, üçüncü taraf uygulamalar için kullanıcı yetkisi devri sağlar.

API Anahtar Kimlik Doğrulama

API anahtarları, hesabınız için oluşturulan rastgele dizelerdir ve uygulamanızı Smart Money API'ye tanımlar. Her istek, API anahtarınızı bir başlık veya sorgu parametresi olarak içermelidir.

Başlık Tabanlı API Anahtarı

Önerilen yöntem, API anahtarınızı Bearer şeması kullanarak Authorization başlığında iletmektir:

curl Örneği
curl -X GET "https://api.smartmoneyapi.com/v1/whales/btc" \
-H "Authorization: Bearer sk_live_1234567890abcdef" \
-H "Accept: application/json"

Sorgu Parametresi API Anahtarı

WebSocket bağlantıları veya başlıkların değiştirilemediği durumlarda, API anahtarını bir sorgu parametresi olarak iletin:

WebSocket Bağlantısı
ws://localhost:8877/ws?api_key=sk_live_1234567890abcdef
// Kimlik doğrulamalı WebSocket akışı başlatır

API Anahtar Özellikleri

Özellik Açıklama
Biçim sk_test_ veya sk_live_ önekli 128 karakterlik hex dizesi
Kapsam Oluşturulduğu hesabın tüm izinlerini devralır
Sona Erme Otomatik olarak sona ermez; manuel olarak döndürülmelidir
Döndürme Yeni anahtar oluşturun, trafiği taşıyın ve eski anahtarı devre dışı bırakın
Hız Sınırları Aynı anahtarı kullanan tüm istekler arasında paylaşılır

API Anahtar Güvenlik Uygulamaları

  • Ortam Değişkenleri — Anahtarları .env dosyalarında saklayın (sürüm kontrolüne eklenmez) ve çalışma zamanında yükleyin
  • Kasa Sistemleri — Üretim ortamında HashiCorp Vault, AWS Secrets Manager veya Azure Key Vault kullanın
  • Ayrı Anahtarlar — Test ve canlı anahtarları ayrı tutun; test anahtarlarını sık sık değiştirin
  • Minimum Kapsam — Mümkün olduğunda farklı entegrasyonlar için ayrı anahtarlar oluşturun
  • Denetim Kaydı — Tüm API anahtarı oluşturma ve kullanım olaylarını kaydedin
API anahtarınızı 30 saniyede alın

Hazır mısınız? Ücretsiz bir API anahtarı alın (günde 100 çağrı, kart gerekmez) ve canlı balina, fonlama ve zincir üstü verilerini çekmeye başlayın.

API anahtarınızı alın →

Bearer Token Modeli

Bearer token'lar, basit API anahtarı konseptini bağlam, süre sonu ve yenileme mekanizmaları ekleyerek genişletir. Programatik kimlik bilgisi yönetimi gerektiren uygulamalar için idealdir.

Bearer Token Alma

API anahtarınızı ve sırrınızı 24 saat geçerli bir bearer token ile değiştirin:

GET /auth/token
curl -X POST "https://api.smartmoneyapi.com/v1/auth/token" \
-H "Content-Type: application/json" \
-d '{
"api_key": "sk_live_1234567890",
"api_secret": "secret_abc123xyz"
}'

Token Yanıt Formatı

Endpoint, metadata içeren bir bearer token döndürür:

Yanıt
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "refresh_1234567..."
}

Bearer Token Kullanımı

Sonraki tüm isteklerde token'ı Authorization başlığına ekleyin:

Kimlik Doğrulamalı İstek
curl -X GET "https://api.smartmoneyapi.com/v1/derivatives/funding-heatmap" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Token Yenileme Akışı

Bir token'ın süresi dolmak üzereyse, API sırrınızı gerektirmeden yeni bir token almak için yenileme token'ını kullanın:

POST /auth/refresh
curl -X POST "https://api.smartmoneyapi.com/v1/auth/refresh" \
-H "Content-Type: application/json" \
-d '{
"refresh_token": "refresh_1234567..."
}'

OAuth 2.0 Uygulaması

OAuth 2.0, kullanıcıların kimlik bilgilerini paylaşmadan uygulamaların Smart Money API hesaplarına erişmesine izin verir. Bu, SaaS platformları, üçüncü taraf entegrasyonları ve çok kiracılı uygulamalar için gereklidir.

OAuth 2.0 Yetkilendirme Kodu Akışı

Web uygulamaları için standart akış:

  1. Kullanıcı Girişi Başlatır — Kullanıcı "Smart Money API ile Bağlan" butonuna tıklar
  2. Yetkilendirme Sunucusuna Yönlendirme — Uygulamanız kullanıcıyı Smart Money'in yetkilendirme endpoint'ine yönlendirir
  3. Kullanıcı İzin Verir — Kullanıcı istenen kapsamları gözden geçirir ve erişim izni verir
  4. Yetkilendirme Kodu Döndürülür — Kullanıcı yetkilendirme kodu ile geri yönlendirilir
  5. Kodu Token ile Değiştirme — Arka uç, kodu erişim token'ı ile değiştirir (kod asla ön uca açılmaz)
  6. Token'ı Sakla — Yenileme token'ını güvenli bir şekilde saklayın; API çağrıları için erişim token'ını kullanın

Adım 1: Kullanıcıyı Yetkilendirme Noktasına Yönlendirin

Önyüz Yönlendirmesi
// Kullanıcıyı yönlendirmek için URL
const authUrl = new URL('https://api.smartmoneyapi.com/oauth/authorize');
authUrl.searchParams.append('client_id', 'your_client_id');
authUrl.searchParams.append('redirect_uri', 'https://yourapp.com/callback');
authUrl.searchParams.append('response_type', 'code');
authUrl.searchParams.append('scope', 'whales derivatives onchain');
authUrl.searchParams.append('state', generateRandomState());
window.location.href = authUrl.toString();

Adım 2: Geri Çağrıyı İşleyin ve Kodu Değiştirin

Arka Uç Kod Değişimi
// Arka uç /callback rotasını işler
const code = req.query.code;
const storedState = req.session.state;
const receivedState = req.query.state;
// Durum parametresini doğrulayın
if (storedState !== receivedState) {
throw new Error('Durum uyuşmazlığı - CSRF saldırısı tespit edildi');
}
// Token için kodu değiştirin
const tokenResponse = await fetch('https://api.smartmoneyapi.com/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
grant_type: 'authorization_code',
code: code,
client_id: process.env.OAUTH_CLIENT_ID,
client_secret: process.env.OAUTH_CLIENT_SECRET,
redirect_uri: 'https://yourapp.com/callback'
})
});
const tokens = await tokenResponse.json();
// Token'ları güvenli bir şekilde saklayın

OAuth Kapsamları

Uygulamanızın ihtiyaç duyduğu kapsamları talep edin. Smart Money API bu kapsamları tanımlar:

Kapsam Açıklama
whales Balina cüzdan takibi ve birikim metriklerine erişim
derivatives Futures, perpetuals ve fonlama oranı verilerine erişim
onchain On-chain işlem akışları ve analizlerine erişim
alerts Webhook uyarıları oluşturun ve yönetin
offline Çevrimdışı yeni erişim token'ları almak için yenileme token'larına erişim

JWT Token Yönetimi

JWT (JSON Web Token'ları) durumsuz kimlik doğrulama sağlar—sunucunun oturum verisi depolaması gerekmez. Smart Money API, API'ye başvurmadan doğrulamaya izin veren RS256 (SHA-256 ile RSA İmzası) kullanır.

JWT Yapısı

JWT token'ları noktalarla ayrılmış üç bölümden oluşur:

JWT Formatı
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFjY3QxMjM0In0.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
// BAŞLIK.YÜK.İMZA

JWT Başlığı

Başlık, algoritmayı ve token türünü tanımlar:

Çözümlenmiş Başlık
{
"alg": "RS256",
"typ": "JWT",
"kid": "1"
}

JWT Yük Talepleri

Yük, kullanıcı/uygulama hakkında ifadeler (talepler) içerir:

Çözümlenmiş Yük
{
"sub": "acct_1234567890",
"name": "Trading Bot",
"iat": 1703001600,
"exp": 1703088000,
"scopes": ["whales", "derivatives"],
"aud": "https://api.smartmoneyapi.com"
}

JWT İmzalarını Doğrulama

Smart Money'in genel anahtarını indirin ve token'ları kabul etmeden önce doğrulayın:

Node.js Doğrulaması
const jwt = require('jsonwebtoken');
const fs = require('fs');
// Smart Money API'den genel anahtarı alın
const publicKey = fs.readFileSync('smartmoney-public.pem');
// Token'ı doğrulayın
try {
const decoded = jwt.verify(token, publicKey, {
algorithms: ['RS256'],
audience: 'https://api.smartmoneyapi.com',
issuer: 'https://api.smartmoneyapi.com'
});
// Token geçerli, çözümlenmiş talepleri kullanın
} catch (err) {
// Token geçersiz veya süresi dolmuş
}

Anahtar Döndürme Stratejisi

Düzenli anahtar döndürme, güvenliği sürdürmek için kritiktir. Mükemmel güvenlik uygulamalarıyla bile, anahtarların tehlikeye girebileceğini varsayın ve sistematik döndürme uygulayın.

Döndürme Sıklığı

Smart Money, anahtar türüne ve kullanımına göre farklı döndürme programları önerir:

Anahtar Türü Önerilen Döndürme Minimum Döndürme
Test API Anahtarları Aylık Üç Aylık
Üretim API Anahtarları Üç Aylık Yıllık
OAuth Yenileme Token'ları Otomatik (90 gün sonra) Manuel (180 gün sonra)
Hizmet Hesabı Anahtarları Altı Aylık Yıllık

Kesintisiz Döndürme Süreci

Hizmeti kesintiye uğratmadan anahtarları döndürün:

  1. Yeni Anahtar Oluştur — Dashboard veya API üzerinden yeni API anahtarı oluşturun
  2. Yeni Anahtarı Dağıt — Hazırlık ortamında uygulama sırlarını güncelleyin, kapsamlı test edin
  3. Kademeli Yayın — Sunucuların %10'una dağıtın, hataları izleyin
  4. Tam Kullanıma Geçiş — Kalan sunuculara dağıtım yap
  5. Trafiği Doğrula — Tüm isteklerin yeni anahtarı kullandığını onayla
  6. Eski Anahtarı Devre Dışı Bırak — Eski anahtarı devre dışı olarak işaretle ama hemen silme
  7. Eski Anahtarı Sil — 48 saat boyunca hata olmazsa kalıcı olarak sil

Acil Anahtar Değişimi

Bir anahtarın ele geçirildiğinden şüpheleniyorsanız:

Acil Değişim
// Acil eylem: Ele geçirilen anahtarı devre dışı bırak
curl -X POST "https://api.smartmoneyapi.com/v1/keys/sk_live_xxx/revoke" \
-H "Authorization: Bearer token"
// Hemen yedek anahtar oluştur
curl -X POST "https://api.smartmoneyapi.com/v1/keys" \
-H "Content-Type: application/json" \
-d '{
"name": "Acil Yedek Anahtar"
}'

Kubernetes'te Otomatik Anahtar Değişimi

Otomatik değişim için Kubernetes Secrets ve operatörleri kullanın:

Anahtar Değişimi için CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
name: api-key-rotator
spec:
schedule: "0 0 * * 0" # Haftalık, Pazar günü
jobTemplate:
spec:
template:
spec:
containers:
- name: rotator
image: smartmoney-key-rotator:latest

Çok Faktörlü Kimlik Doğrulama (MFA)

Üretim verilerine erişen hesaplar için MFA, sadece kimlik bilgilerinin ötesinde ikinci bir faktör gerektirerek ek bir güvenlik katmanı sağlar.

Desteklenen MFA Yöntemleri

  • TOTP (Zaman Temelli Tek Kullanımlık Şifre) — Google Authenticator, Authy gibi uygulamalar
  • WebAuthn/FIDO2 — Donanım güvenlik anahtarları, biyometrik veriler
  • SMS Tek Kullanımlık Kodlar — Daha az güvenli ama evrensel olarak desteklenir
  • E-posta Onayı — Kayıtlı e-posta adresine gönderilen onay kodları

Hesap Erişimi için TOTP Etkinleştirme

MFA'yı Etkinleştir
// Adım 1: MFA kurulum isteği gönder
curl -X POST "https://api.smartmoneyapi.com/v1/account/mfa/enable" \
-H "Authorization: Bearer token"
// Yanıt QR kodu URL'si içerir
{
"qr_code_url": "https://...",
"secret": "JBSWY3DPEBLW64TMMQ...",
"backup_codes": ["12345678", ...]
}

API İşlemleri Sırasında MFA

Bazı işlemler kimlik doğrulamasından sonra bile MFA onayı gerektirebilir:

MFA Sınaması
// Hassas işlem denemesi (anahtar değişimi)
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Token: mfa_challenge_abc123"
// Yanıt: MFA gerekli
{
"error": "mfa_required",
"mfa_token": "mfa_xyz789"
}
// TOTP koduyla tekrar dene
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Code: 123456"

Güvenlik En İyi Uygulamaları

Kimlik doğrulama, uygulaması kadar güçlüdür. Güvenliği korumak için bu uygulamaları izleyin:

Gizlilik Yönetimi

  • Gizli bilgileri versiyon kontrolüne asla ekleme — .gitignore ile .env dosyaları kullan
  • Ortam değişkenlerini kullan — Güvenli gizlilik yönetim sistemlerinden yükle
  • Depoları tara — TruffleHog, detect-secrets gibi araçlarla açığa çıkmış anahtarları bul
  • Erişim günlüklerini denetle — Kimin ne zaman gizli bilgilere eriştiğini izle

Taşıma Güvenliği

  • Her zaman HTTPS kullan — Kimlik bilgilerini şifrelenmemiş bağlantılar üzerinden asla gönderme
  • SSL sertifikalarını doğrula — Üretim ortamında sertifika doğrulamayı devre dışı bırakma
  • Sertifika sabitleme kullan — Mobil uygulamalar için MITM saldırılarını önle
  • TLS 1.2+ zorunlu kıl — Eski protokolleri devre dışı bırak

Kimlik Bilgisi Yönetimi

  • Gizli bilgileri hash'le — bcrypt veya Argon2 hash'leri kullan, asla düz metin saklama
  • Ömrü kısıtla — Kimlik bilgilerini yalnızca gerektiği sürece bellekte tut
  • Hassas verileri temizle — Kullanımdan sonra kimlik bilgilerini açıkça üzerine yaz
  • Güvenli kütüphaneler kullan — Kriptografi kendin uygulama

Günlükleme ve İzleme

  • Asla kimlik bilgilerini günlükle — Günlüklerde anahtarları sansürle, günlük maskeleme kullan
  • Kimlik doğrulama olaylarını günlükle — Başarılı ve başarısız giriş denemelerini kaydet
  • Anormallikleri izle — Olağandışı erişim modelleri için uyar
  • Anahtar kullanımını denetle — Hangi anahtarların hangi verilere eriştiğini takip et

Kurumsal Kimlik Doğrulama Modelleri

Büyük organizasyonlar genellikle ek güvenlik kontrolleri ve uyum yetenekleri gerektirir.

SAML 2.0 Entegrasyonu

Kurumsal müşteriler için Smart Money API, kuruluşunuzun kimlik sağlayıcısı (Okta, Azure AD, vb.) ile SAML 2.0 entegrasyonunu destekler:

  • Tek Oturum Açma (SSO) — Kullanıcılar kurumsal IdP'niz üzerinden kimlik doğrular
  • Otomatik sağlama — Grup üyeliğine göre hesap oluştur/devre dışı bırak
  • Zorunlu kılma — Tüm kullanıcı erişimleri için SAML gerektir

IP Beyaz Listesi

API erişimini belirli IP adreslerine veya CIDR aralıklarına kısıtlayın:

IP Beyaz Liste Yönetimi
// IP'yi beyaz listeye ekle
curl -X POST "https://api.smartmoneyapi.com/v1/account/ip-whitelist" \
-H "Authorization: Bearer token" \
-d '{
"cidr": "203.0.113.0/24",
"description": "Production servers"
}'

Denetim Günlüğü ve Uyumluluk

Kurumsal planlar, uyumluluk için kapsamlı denetim günlükleri içerir:

Olay Kaydedilen Veri
Kimlik Doğrulama Kullanıcı, zaman damgası, başarı/başarısızlık, IP, MFA durumu
Anahtar İşlemleri Anahtar ID, eylem, başlatan, zaman damgası
Hesap Değişiklikleri Neyin değiştiği, kimin değiştirdiği, zaman damgası, önce/sonra değerleri
Veri Erişimi Kullanıcı, endpoint, kapsamlar, zaman damgası, kayıt sayısı

Kimlik Doğrulama Sorunlarını Giderme

Geçersiz API Anahtarı Hatası

Sorun: "401 Unauthorized - Invalid API Key" hatası alınıyor

Çözümler:

  • Anahtar formatını kontrol edin (sk_test_ veya sk_live_ ile başlamalı)
  • Anahtarda baştaki/sondaki boşlukları kontrol edin
  • Anahtarın devre dışı bırakılmadığını veya değiştirilmediğini onaylayın
  • Doğru ortamı kullandığınızı doğrulayın (test için test anahtarı, canlı için üretim)
  • API anahtar izinlerinin endpoint gereksinimleriyle eşleştiğini kontrol edin

Token Süresi Doldu Hatası

Sorun: Bearer token süresi doldu, istekler başarısız oluyor

Çözümler:

  • Yeni erişim token'ı almak için refresh token kullanın
  • Süre bitiminden 5 dakika önce otomatik token yenileme uygulayın
  • Refresh token'ı güvenli bir şekilde saklayın (SPA'lar için localStorage'da değil)
  • 401 yanıtlarını refresh token akışını deneyerek ele alın

CORS/Preflight Hataları

Sorun: Tarayıcı, CORS hatasıyla istekleri engelliyor

Çözümler:

  • Tarayıcıdan yapılan API çağrıları beyaz listeye alınmış origin'lerden gelmelidir
  • Alan adınızı kontrol panelinden ekleyin: Ayarlar → CORS Origins
  • Tarayıcı otomatik olarak OPTIONS preflight isteği gönderir
  • Geliştirme için localhost:3000 veya benzerini kullanın

MFA Doğrulaması Tamamlanmıyor

Sorun: Doğru kod girilse bile MFA gerektiren işlemler başarısız oluyor

Çözümler:

  • Sunucu saatinin senkronize olduğundan emin olun (TOTP zamanı esas alır)
  • Kod yalnızca 30 saniye geçerlidir, yeni bir tane oluşturun
  • Authenticator uygulaması kullanılamıyorsa yedek kodları kullanın
  • Kayıtlı e-posta ile hesap kurtarma mümkündür

Bugün Güvenli Kimlik Doğrulamayı Uygulayın

Smart Money API, OAuth 2.0, JWT, MFA ve SAML entegrasyonuyla kurumsal düzeyde kimlik doğrulama sunar. API entegrasyonunuzu endüstri standartlarıyla güvence altına alın.

Kurumsal Planları Görüntüleyin
SAML, IP beyaz listeleme veya özel destek mi lazım? Satış ekibimizle iletişime geçin.

İlgili Kaynaklar

Ücretsiz başlayın — günde 100 çağrı, kart gerekmez

3 borsadan canlı balık akışı, fonlama, açık pozisyon ve on-chain verileri tek bir API'den alın. Ücretsiz katman, kredi kartı gerekmez, istediğiniz zaman yükseltin.

Ücretsiz başlayın →
Canlı API konsolunu deneyin → (hesap gerekmez)