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
- Verilen kimlik bilgilerinde taşınan bir
credentialSchemaözelliği. - Kimlik bilgisi türü başına yayımlanmış, sürümlenmiş, çekilebilir bir şema belgesi.
- Verme anında ona karşı doğrulama, yoksa işaretçi süstür.
- 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.

