Herkes DID'inizi Arayıp Neyi Paylaştığınızı Görebilir mi?
İki soru, iki farklı cevap. Herkes bir Solidus kimlik DID'ini arayabiliyor, hesap ve izin olmadan: aşağıdaki komutu kendiniz çalıştırabilirsiniz.
Birinci soru: herkes arayabilir mi? Evet, ve kanıtı burada
$ curl -s https://identity.solidus.network/v1/users/<did>
Rota işleyicisinin hiçbir kimlik doğrulama adımı yok ve aynı dosyada hemen üstündeki rotanın var. O karşıtlık kasıtlıdır: bunun açık olması amaçlanmıştır.
Yanıtın bir şey ifade ettiğini kontrol edin, çünkü bir 404 çok farklı iki şey anlamına gelebilir:
$ curl -s https://identity.solidus.network/v1/users/did:solidus:testnet:1111111111111111111111zz
→ {"status":404,"detail":"User not found"} ← the route RAN; no such account
$ curl -s https://identity.solidus.network/v1/users-not-a-route/x
→ {"message":"Route GET:/v1/users-not-a-route/x not found"} ← the route does not EXIST
$ curl -s https://identity.solidus.network/v1/users/me/linked-accounts
→ {"error":"Unauthorized"} ← auth-gated routes DO reject
Aynı durum kodu, farklı gövdeler. En çok üçüncüsü önemli: API'nin basitçe her şeye açık olmadığını gösteriyor, dolayısıyla ilk sonuç eksik bir koruma değil gerçek bir tasarım kararıdır.
Var olan bir hesap için ne geri geliyor
- Görünen ad, avatar, biyografi ve hesabın oluşturulduğu tarih.
- En fazla yirmi kimlik bilgisi, ama her biri için yalnızca üç alan: kimlik bilgisi türü, verenin tanımlayıcısı ve ne zaman verildiği.
- İptal edilmiş kimlik bilgileri hariç tutuluyor.
Ne geri gelmiyor, ve ürünün doğru yaptığı kısım bu
Hiçbir iddia değeri. Doğum tarihiniz değil, bir belge numarası değil, bir adres değil, herhangi bir kimlik bilgisinin içindeki herhangi bir nitelik değil. Sorgu üç sütun adlandırıyor ve kimlik bilgisi gövdesi onlardan biri değil.
Çizilecek doğru çizgi budur ve kasıtlı olarak çizildi, ne denk geldiyse onun sonucu olarak değil. Kimlik bilgisi içeriklerini döndüren bir açık profil savunulamaz olurdu; bu döndüremiyor, çünkü veri hiçbir zaman getirilmiyor.
Ve şimdi insanların hafife aldığı kısım
Tür artı veren artı tarih bir hiç değildir.
"Bu tanımlayıcı, Y tarafından bu tarihte verilmiş X türünde bir kimlik bilgisi tutuyor" ifadesi bir gözlemciye hangi kuruluşların size kefil olduğunu ve ne zaman söylüyor. Bazı kimlik bilgisi türleri için bu zararsızdır. Diğerleri için kimlik bilgisinin varlığı hassas olgudur ve içindeki değer konu dışıdır.
Bunu "yalnızca üstveri" diye dosyalamayacağız. Size kimin kefil olduğu hakkındaki üstveri bir ifşadır ve buna omuz silken bir sayfa, bu sitenin önlemek için var olduğu şeyi yapıyor olurdu.
Bunu kapatmanın hiçbir yolu yok
Olacağı yerde baktık. Ayarlar yüzeyi bir görünen adı, bir biyografiyi, bir dili, bir temayı ve beş bildirim düğmesini değiştirmenize izin veriyor. Ayarlar modülünün tamamında bir görünürlük ya da mahremiyet denetimi araması hiçbir şey döndürüyor, aramanın o koda ulaştığını doğrulayan bir kontrolle.
Yani: özel kip yok, kimlik bilgisi başına gizleme yok, vazgeçme yok. DID'iniz açıksa, kimlik bilgisi tür-ve-veren listeniz de onunla birlikte açıktır.
Tek gerçek hafifletme yukarı akıştadır ve onu kendiniz seçmeniz gerekiyor: hesap DID'iniz benzersiz ve kalıcıdır, hesap başına bir tane, şemada dayatılmış hâlde, dolayısıyla onu nerede yayımlarsanız bu listeye giden bağlantıyı da yayımlıyorsunuz. Bir Solidus kimlik DID'ini açık bir tanıtıcı olarak alın, çünkü o odur.
Ve sunmadığımız bir hafifletme konusunda kesin olmalıyız: doğrulayıcı başına anahtar türetme kod tabanımızda mevcut, sabit test vektörleriyle, ki bir tutucu farklı doğrulayıcılara o sunumlar birbirine bağlanmadan sunabilsin. Bu yüzeye bağlanmış değil, onu tanımlayan kitaplığın dışında bir arama hiçbir çağıran bulmuyor. Bugün sahip olduğunuz bir özellik değil, bir yapı taşıdır.
İkinci soru: neyi paylaştığınızı görebilirler mi? Hayır
Paylaşım kayıtlarınız kimlik doğrulamalıdır. Kiminle paylaştığınız, hangi iddiaları
yayımladığınız, ne zaman iptal ettiğiniz, bunlar /v1/sharing arkasında yaşıyor, ki yukarıda
gösterildiği gibi bir yabancıya 401 döndürüyor.
Yani dürüst ayrım şu:
| Soru | Cevap |
|---|---|
| Bir yabancı bu DID'in var olduğunu öğrenebilir mi? | Evet |
| …görünen adını, biyografisini, katılma tarihini? | Evet |
| …hangi kimlik bilgisi türlerini, hangi verenlerden, ne zaman tuttuğunu? | Evet, en fazla yirmi |
| …o kimlik bilgilerinin içindeki değerleri? | Hayır |
| …kiminle paylaştığını ya da neyi açıkladığını? | Hayır |
| Bunlardan herhangi birini kapatabilir misiniz? | Hayır |
Bu kontrolün neyi kanıtlayıp neyi kanıtlamadığı
Komutu çalıştırmak uç noktanın açık olduğunu kanıtlıyor. Yanıtın, kontrol etmediğiniz bir hesap için eksiksiz ya da doğru olduğunu kanıtlamıyor; bunun için hesap sahibi olmanız gerekirdi, ve bu sayfanın yanıt gövdesi hakkındaki iddiaları kod okumasıdır, size gösterebileceğimiz canlı bir hesaba karşı doğrulanmış değil. Tatmin edici tek bir curl'ün olduğundan fazlasının yerine geçmesine izin vermektense onu sınırlamayı tercih ederiz.
İçerik planımız bu sayfayı /public-profile olarak adlandırıyor. O rota canlı değil: 404
döndürüyor, kasıtlı olarak sahte bir yol da öyle, dolayısıyla bu sayfa var olan bir sayfayı değil var
olan bir API'yi tarif ediyor.

