Identity
Hızlı Başlangıç

Hızlı Başlangıç

Bu rehber, headless Web SDK'yı kullanarak sıfırdan ilk kimlik risk snapshot'ınıza kadar götürür. Backend'iniz publishable key'inizle kısa ömürlü bir oturum imzalar, tarayıcı SDK'sı cihaz ve davranışsal telemetriyi toplayıp snapshot'ı ister, siz de verdict'i okur ve ne yapacağınıza karar verirsiniz. Secret key'iniz tarayıcıya asla girmez.

Identity Intelligence bir kanıt sağlayıcıdır (evidence provider) — snapshot size bir skor ve verdict verir, ama tek başına asla bloklamaz. Nihai karar her zaman sizindir.

Tüm örnekler için temel URL: https://api-gateway.lunixi.com/api/v1.

Anahtarlarınızı alın

Merchant panelinden şunları oluşturun:

  • bir publishable key (mk_live_pk_…) — backend'inizin oturum-init çağrısından referans vermek güvenlidir, origin-bound'dur ve
  • bir Ed25519 anahtar çifti — doğrudan sunucu tarafı analiz ve sorgular için Bearer token (at_live_…) basmak üzere.

Publishable key yalnızca bir oturum üretmeyi (mint) yetkilendirir; snapshot okuyamaz. Tam model için bkz. Kimlik Doğrulama.

Backend'inizde bir oturum imzalayın

Tarayıcı asla bir anahtar tutmaz. Bunun yerine backend'iniz POST /identity/sdk/init çağrısını publishable key ile yapar ve sonucu — bir imzalı SDK session token artı bir endpoint haritası — sayfaya döndürür. Çağrı allowedOrigin'e bağlıdır.

curl -X POST "https://api-gateway.lunixi.com/api/v1/identity/sdk/init" \
  -H "Authorization: PublishableKey mk_live_pk_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "allowedOrigin": "https://shop.example.com"
  }'

SDK'yı yükleyin ve analiz edin (tarayıcı)

Headless SDK'yı https://cdn.lunixi.com üzerinden yükleyin ve bir client başlatın. sessionBootstrapUrl'ı bir önceki adımdaki backend endpoint'e yönlendirin — SDK imzalı oturumu çeker, init() çağırır, ardından analyze() snapshot'ı döndürür. Monte edilecek bir UI yoktur.

<script src="https://cdn.lunixi.com/lunixi-identity.min.js"></script>
<script>
  // createClient → init() → analyze()
  const client = await Lunixi.identity.init({
    sessionBootstrapUrl: '/lunixi/identity/session', // adım 2'deki backend'iniz
    subjectId: 'cus_8f2a9c',        // kimi skorluyorsunuz
    productContext: 'checkout',     // iş bağlamı
  });
 
  const snapshot = await client.analyze();
</script>
⚠️

SDK fail-open değildir — bir çağrı başarısız olursa throw eder veya reject olur. init()/analyze() çağrılarını try/catch içine alın ve snapshot yokken akışınızın nasıl davranacağına karar verin. Tek nazik istisna, 48 KB'yi aşan payload'dur; bu truncate edilir ve __sdkTruncated: true ile işaretlenir.

Verdict'i okuyun ve karar verin

Snapshot düz bir nesnedir. Kanonik identityRiskLevel'i (veya sayısal riskScore'u) okuyun ve kendi politikanızı uygulayın.

  // ...analyze() sonrası devam
  switch (snapshot.identityRiskLevel) {
    case 'critical':
    case 'high':
      // kararınız: step-up, inceleme veya reddet
      break;
    case 'medium':
      // kararınız: sürtünme ekle (ör. OTP)
      break;
    default: // 'low' | 'clean'
      // devam et
  }
 
  // Ya da ham skorları + açıklanabilir yüzeyi kullanın:
  console.log(snapshot.riskScore, snapshot.confidenceScore, snapshot.reasonCodes);

Geri dönen yanıt

{
  "identityRiskLevel": "high",
  "identityRiskPolicyVersion": "2026-07-01",
  "riskScore": 72,
  "confidenceScore": 0.91,
  "knownDevice": true,
  "sameDeviceProbability": 0.97,
  "networkCategory": "vpn",
  "vpnDetected": true,
  "botClassification": "automation_likely",
  "reasonCodes": ["vpn_detected", "automation_likely", "new_actor_cluster"],
  "findings": [
    { "code": "vpn_detected",      "severity": "medium", "scoreDelta": 18, "source": "network" },
    { "code": "automation_likely", "severity": "high",   "scoreDelta": 26, "source": "bot" }
  ]
}

Her alan Risk Snapshot sayfasında belgelenmiştir.

Sonraki adımlar

  • Kimlik Doğrulama — publishable key, SDK session token ve sunucu tarafı Bearer, yan yana.
  • Web SDK — tam client API'si: configure, createClient, init, analyze, track, config ve olaylar.
  • Risk Snapshot — her skor, sinyal ve verdict alanı.
  • Sunucu API & Sorgular — backend'inizden analiz edin ve geçmiş oturumları okuyun.