Identity
Kimlik Doğrulama

Kimlik Doğrulama

Identity Intelligence, çağrının nereden kaynaklandığına göre iki kimlik doğrulama yolu kullanır. Tarayıcı asla bir secret tutmaz; bunun yerine publishable key'inizle üretilmiş kısa ömürlü, imzalı bir SDK session token üzerinden çalışır. Sunucunuz, doğrudan analiz ve sorgular için Bearer secret key kullanır.

YolKimlik bilgisiKullanan
Web SDK oturumuinit'te publishable key (mk_live_pk_…) → imzalı session token/identity/sdk/* (tarayıcı)
Sunucu tarafıBearer erişim token'ı (at_live_…)/identity/* (backend'iniz)
Publicyok/identity/.well-known/jwks.json, /identity/sdk/compatibility

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

Web SDK: publishable key → session token

Tarayıcı SDK'sı iki aşamada doğrulanır ve secret key tarayıcıya asla girmez.

Aşama 1 — bir oturum üret (backend'iniz). Backend'iniz POST /identity/sdk/init çağrısını Authorization header'ında publishable key ile yapar. Publishable key bir SDK config alanı değildir — yalnızca bu sunucu tarafı init çağrısında bulunur. Yanıt, bir imzalı SDK session token artı bir endpoint haritasıdır. Oturum 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" }'

Aşama 2 — session token ile çağır (tarayıcı). Sonraki her SDK çağrısı (analyze-sync, event, events/batch) session token'ı Authorization: Bearer <token> olarak taşır. Token yalnızca header'dadır — istek gövdesinde token veya session-proof alanı yoktur. Bir çağrı yenilenmiş token döndürürse SDK otomatik olarak ona geçer (rotate).

Bu çağrıları elle nadiren yazarsınız — Web SDK oturumu ve header'ları sizin için yönetir. Aşama 1'deki oturumu ona, aşağıdaki bootstrap desenlerinden biriyle beslersiniz.

Bootstrap desenleri

SDK'nın aşama-1 oturumunu, bir anahtarı asla görmeden nasıl aldığı:

DesenAlanNe zaman kullanılır
CallbacksessionBootstrap(fn)SDK, backend'inizden oturumu çeken ve döndüren async fonksiyonunuzu çağırır. En esneği.
URLsessionBootstrapUrlSDK, sizin sunduğunuz bir backend URL'sinden (POST /identity/sdk/init'in ince bir proxy'si) oturumu çeker. En basiti.
Önceden alınmışsessionDataOturumu sunucu tarafında zaten aldınız (ör. sayfaya enjekte ettiniz) ve nesneyi doğrudan SDK'ya verirsiniz.
⚠️

Publishable key yalnızca oturum üretmeyi yetkilendirir — snapshot okuyamaz. Secret key'i sunucu tarafında tutun. Oturumlar origin-bound'dur: allowedOrigin varsayılan olarak window.location.origin'dir ve bir origin için üretilen token başka bir origin'den reddedilir.

Sunucu tarafı: Bearer secret key

Backend analizi ve sorgular için erişim token'ınızı (at_live_…) Bearer olarak gönderin. Tenant token'dan türetilir — her çağrı otomatik olarak token'ın basıldığı merchant'a scope edilir ve sonuçlar merchant-scoped ve redakte edilmiştir.

curl -X POST "https://api-gateway.lunixi.com/api/v1/identity/live-sessions/analyze-sync" \
  -H "Authorization: Bearer at_live_5f3e2b1a..." \
  -H "Content-Type: application/json" \
  -d '{
    "subjectType": "customer",
    "subjectId": "cus_8f2a9c",
    "productContext": "checkout"
  }'
⚠️

Secret key bir tarayıcıya, mobil uygulamaya veya public bir repository'ye asla gönderilmemelidir. Sızarsa, merchant panelinden iptal edin ve yenisini üretin.

Hangi endpoint hangi modeli kullanır

Endpoint grubuAuthNotlar
POST /identity/sdk/initPublishable keyOrigin-bound; session token üretir
POST /identity/sdk/live-sessions/analyze-syncİmzalı SDK tokenHeader'da Bearer session token
POST /identity/sdk/live-sessions/event, /events/batchİmzalı SDK tokenTarayıcıdan event ingest
POST /identity/sdk/compatibilityPublicAuth yok — yetenek yoklaması
POST /identity/live-sessions/analyze, /analyze-syncBearer secret keyAsync (traceId) veya senkron snapshot
POST /identity/live-sessions/event, /events/batchBearer secret keySunucu tarafı event ingest
GET /identity/live-sessions* (list, :traceId, timeline, related, links)Bearer secret keyMerchant-scoped sorgular
.../mobile-threat/*, .../pos-threat/*, /identity/mobile-appsBearer secret keyEnrollment-gated yüzeyler
GET /identity/.well-known/jwks.jsonPublicİmzalı identity assertion'ları doğrulayın — bkz. Assertion & JWKS

Sonraki adımlar

  • Web SDK — client API'si ve her bootstrap/config alanı.
  • Sunucu API & Sorgular — backend'inizden analiz edin ve oturumları okuyun.
  • Assertion & JWKS — inkâr edilemez (non-repudiable) bir identity assertion'ı doğrulama.