SolidusIdentity

Kimlik Bilgilerinizin İçinde Gerçekte Hangi Alanlar Var

Solidus credentialSchema uygulamıyor. Yayımladığımız kimlik bilgisi türünde böyle bir alan yok ve verme yolumuzda hiçbir şey bir kimlik bilgisinin biçimini yayımlanmış, bağımsız olarak çekilebilir bir şema belgesine karşı doğrulamıyor. Terimin durumu not-built.

Sayfanın kalanı, eksik olan şeyin ne olduğunu, neden önem taşıdığını ve onun yerine ne yaptığımızı anlatıyor.

credentialSchema ne olmak üzere tasarlandı

W3C veri modelinde credentialSchema, bir kimlik bilgisi üzerinde duran ve bir şema belgesini gösteren bir özelliktir: bu tür bir kimlik bilgisinin hangi alanları içermesi gerektiğini ve bunların hangi biçimde olduğunu makinece okunabilir biçimde anlatan bir tanım.

Amacı, sizin kimlik bilgisi türünüzü daha önce hiç görmemiş bir doğrulayıcının, alan adları üzerinde önceden anlaşmaya dayanmak yerine sözleşmeyi çekip kimlik bilgisini ona karşı kontrol etmesine olanak vermektir.

O olmadan sözleşme yine vardır: yalnızca bir makinenin bulabileceği hiçbir yere yazılmamıştır.

Bizimkinin içinde gerçekte ne var, dışarıdan kontrol edilmiş

Alan listesi için bize güvenmek zorunda değilsiniz. Açık bir pakette sevk ediliyor:

$ npm view @solidus-network/types version        # 0.6.3, checked 2026-07-31
# then read dist/vc.d.ts — the VerifiableCredential interface:
  '@context'          string[]
  id                  string
  type                string[]
  issuer              string
  validFrom           string
  validUntil?         string
  credentialSubject   { id: string, [key: string]: unknown }
  proof               CredentialProof

Sekiz üye. credentialSchema yok. Bu olumsuz bir sonuçtur ve kanıtın gösterdiği şey bu olduğu için açıkça söylüyoruz.

credentialSubject'in indeks imzasına dikkat edin: [key: string]: unknown. Bir kimlik bilgisinin içindeki iddialar, tür düzeyinde keyfîdir. Biçim yalnızca örtük olarak, veren kodun ne kurduğuna bağlı olarak dayatılır; bir doğrulayıcının bağımsız olarak kontrol edebileceği hiçbir şey tarafından değil.

Ararsanız sizi yanıltacak bir tesadüf

Solidus kod tabanında bir credentialSchema var ve bu o değil.

pod/apps/backend/src/routes/credentials.ts bu adla bir değişken tanımlıyor. O, Pod'un kendi kimlik bilgisi saklama API'si için bir iç istek gövdesi doğrulayıcısıdır: gelen bir HTTP isteğinin, Pod bir şey saklamadan önce doğru biçimde olup olmadığını kontrol eder. W3C kimlik bilgisi özelliğiyle hiçbir ilgisi yoktur, verilmiş hiçbir kimlik bilgisinde görünmez ve bir doğrulayıcı tarafından çekilebilir değildir.

Adını anıyoruz çünkü bu depoyu denetleyen biri onu bulacak ve aynı adı taşıyan bir değişken, tam da gerçek özellikle karıştırılan türden bir şeydir. credentialSchema uyguladığımızın kanıtı değildir. Uygulamıyoruz.

İkinci bir hassasiyet, aynı arama sizi iki kez yanıltmasın diye

credentialStatus de o arayüzde yok ve bu, kimlik bilgisi durumunun uygulanmadığı anlamına gelmiyor.

İkisi farklı yollarda yaşıyor. SD-JWT kimlik bilgilerimizdeki iptal durumu, JSON-LD türü üzerinde bir credentialStatus özelliği olarak değil, jetonun içindeki bir status iddiası olarak seyahat eder ve o mekanizma, imzalı ve canlı bir durum listesi uç noktası dahil, kimlik bilginiz neden etkin, askıda ya da iptal edilmiş görünüyor sayfasında belgelenmiştir.

Bir türde eksik olan bir alan, bütün bir yetenek hakkında bir hüküm değildir. Sonuca varmadan önce iki yolu da kontrol edin.

Onun yerine ne yapıyoruz ve neden daha zayıf

Bir Solidus kimlik bilgisinin biçimini iki şey sabitler: veren kod ve verenimizin yayımlanmış üstverisinde ilan ettiği tek kimlik bilgisi yapılandırması.

Bu fiilî bir sözleşmedir. Gerçektir, veren üstverisini okuyan bir doğrulayıcı ne bekleyeceğini öğrenir, ama credentialSchema'nın sağladığı şey değildir:

  • Kimlik bilgisine iliştirilmiş değildir. Tek başına karşılaşılan bir kimlik bilgisi, kendi tanımına giden bir işaretçi taşımaz.
  • Çekilebilir bir belge olarak sürümlenmez. Biçim değişirse, bir doğrulayıcıya hangi sürümü tuttuğunu söyleyen hiçbir şey yoktur.
  • Bizim ötemize genellenmez. Tek veren ve tek kimlik bilgisi türüyle "biçim üzerinde herkes anlaşır" kolaydır. O özellik ikinci bir vereni atlatamaz ve ikinci bir veren, taşınabilir bir kimlik bilgisinin bütün ön kabulüdür.

Yani bu, inşa ettiğimiz şey tam da çalışmaya başladıkça kötüleşen bir boşluktur. Onu küçük bir ihmal diye tarif etmektense böyle adlandırmayı tercih ederiz.

Neyin değişmesi gerekirdi

  1. Verilen kimlik bilgilerinde taşınan bir credentialSchema özelliği.
  2. Kimlik bilgisi türü başına yayımlanmış, sürümlenmiş, çekilebilir bir şema belgesi.
  3. Verme anında ona karşı doğrulama, yoksa işaretçi süstür.
  4. Hepsinin maliyetini hak etmesi için birden fazla kimlik bilgisi türü ve birden fazla veren.

Bugün bunların hiçbiri yok ve hiçbiri, size güvenmenizi söyleyeceğimiz bir yol haritasında değil.

Okumaya devam edin

Kimlik Bilgilerinizin İçinde Gerçekte Hangi Alanlar Var · Solidus — Solidus Identity