Identity
Fraud ile
Snapshot'ı Taşıma

Snapshot'ı Fraud'a Taşıma

Fraud, identity kanıtını analizinin üzerine bindirebilmek için önce, karşısındaki oturuma ait o kanıtı almak zorundadır. Bunu bir iç resolver ile yapar — resolveDecisionArtifacts — IdentityDecisionSnapshot'ı ve imzalı assertion'ını bulur, onlara ne kadar güveneceğine karar verir ve fraud analizine teslim eder. Bunların hepsi platform-içinde, kimlik-doğrulamalı gRPC üzerinden olur; kendinizin çağıracağı bir snapshot endpoint'i yoktur.

Bu sayfadaki her şey platform-içidir. Bir merchant olarak resolver'ı asla çağırmazsınız — identity'nin SDK bağlamını ve ödeme yüzeyinde checkout live-analyze bootstrap'ını gönderirsiniz. Çözümlemeyi Fraud sizin adınıza yapar.

Çözümleme yolu

Resolver önce en hızlı kaynağı dener ve yalnızca bir miss'te taze bir çekime düşer.

Korelasyon id'leri girer

Fraud değerlendirmesi, oturumu identity kanıtına sabitleyen tanımlayıcıları taşır: merchantId ve snapshotId, traceId, paymentId veya checkoutSessionId'den herhangi biri. Bunlar isteğin korelasyon anahtarlarıdır — resolver'ın bayat veya alakasız bir snapshot yerine tam olarak doğru snapshot'ı bulmasını sağlarlar.

Redis cache araması

Resolver, bu korelasyon id'lerine göre anahtarlanmış bir dizi cache anahtarını kontrol eder:

identity:snapshot:*
identity:trace:*
identity:payment:*
identity:checkout:*
identity:session:*

Sıcak bir oturum — identity'nin aynı istek yolunda az önce analiz ettiği bir oturum — doğrudan cache'ten servis edilir. Servisler-arası çağrı yok.

Cache miss → iç gRPC çözümleme

Bir miss'te, resolver bir iç gRPC köprüsü üzerinden identity'ye erişir; bir internalAuthToken üzerindeki identity:read kapsamıyla yetkilendirilir. İstek aynı korelasyon id'lerini taşır. Identity artifact'ları döndürür ve bir sonraki okuyucu için cache'lenirler.

Ne döner

Resolver, oturuma ait karar artifact'larını döndürür:

ArtifactNedir
identitySnapshotTam IdentityDecisionSnapshot — skorlar, aile-bazlı sinyaller, identityRiskLevel, findings
identityAssertionSnapshot üzerindeki imzalı, non-repudiable assertion (identity bir tane ürettiğinde)
expiresAtTazelik sınırı — bundan sonra artifact'lar bayattır ve taze olarak güvenilmemelidir

Assertion güven çıpasıdır. Asimetrik olarak imzalanmıştır; böylece Fraud onun identity'den geldiğini ve aktarımda değiştirilmediğini doğrulayabilir — /.well-known/jwks.json'a karşı doğrulayacağınız aynı assertion.

Üç kaynak, üç güven seviyesi

Bir identity snapshot'ı fraud analizine üç farklı yoldan ulaşabilir ve her biri farklı miktarda güven taşır. Bu ayrım önemlidir, çünkü yalnızca trusted bir snapshot'ın en güçlü türetmeleri etkilemesine izin verilir (bkz. Additive Evidence & Trusted-Device).

#KaynakNasıl ulaşırGüven
1İmzalı assertionassertion mevcut → imza doğrulandıtrusted
2İmzasız inline snapshotsnapshot inline verildi, geçerli imza yokuntrusted (varsayılan)
3Server-side çözümlemeresolver platform-içinde çekti (cache veya gRPC)trusted
⚠️

İmzasız inline snapshot varsayılan olarak untrusted'tır. Yalnızca eksik boşlukları doldurabilir (örn. eksik bir fingerprintId veya ipAddress) — trusted türetmeleri sürükleyemez. FRAUD_TRUST_UNSIGNED_SNAPSHOT bayrağı (varsayılan false) onu trusted'a yükseltebilir, ama kapalı bırakmak güvenli duruştur. Server-side çözülmüş veya doğrulanmış imza taşıyan bir snapshot, bayrak olmadan trusted'tır.

Notlar

  • Resolver'ın kimliği her zaman platform-içidir. İç token üzerindeki identity:read kapsamı okumayı yetkilendiren şeydir — bunun için public bir kimlik bilgisi yoktur.
  • traceId ile korelasyon, bir identity analizini, bir ödeme intent'ini ve bir fraud kararını tek bir oturuma bağlayan ipliktir. Identity'nin döndürdüğü traceId'yi ileri taşıdığınızda, tüm zinciri uçtan uca denetlenebilir kılarsınız.
  • expiresAt'ini geçmiş bir snapshot bayattır. Tazelik, bir fraud flow'u içinde identitySnapshotGuard node'unun uyguladığı kontrollerden biridir.

Sonraki adımlar