SolidusIdentity

Kimlik Bilgisi Neden Etkin, Askıda ya da İptal Edilmiş Görünüyor

Üç durum, düz anlatımla

  • Etkin: kimlik bilgisi iyidir. Onu veren geri çekmemiştir ve süresi dolmamıştır.
  • Askıda, geçici olarak iyi değil. İhraççı onu duraklatmıştır ve duraklatmayı kaldırabilir. İptal edilmiş bir üyelikten çok beklemeye alınmış bir üyelik gibi düşünün.
  • İptal edilmiş, kalıcı olarak geri çekilmiş. Geri gelmez.

Süre dolması ayrı bir şeydir ve kimlik bilgisinin kendisine gömülüdür: bir kimlik bilgisi son kullanma tarihini geçmiş olabilir ve yine de etkin görünebilir, çünkü "etkin", takvimin ne dediğini değil ihraççının ne yaptığını tarif eder. Bir doğrulayıcı ikisini de kontrol eder.

Bir doğrulayıcı bunu nasıl öğrenir ve neden bir telefon görüşmesi değildir

Bariz tasarım, doğrulayıcının ihraççıya "bu hâlâ iyi mi?" diye sorması olurdu. O tasarım, tam olarak taşıyıcı denetimli bir kimlik bilgisinin kaçınması gereken şeydir, çünkü ihraççıya onu nerede ve ne zaman kullandığınızı söyler.

Dolayısıyla mekanizma tersine çevrilmiştir. İhraççı, her biri için küçük bir yuvası olan, birçok kimlik bilgisini kapsayan tek bir uzun liste yayımlar. Kimlik bilginiz o listenin adresini ve içindeki dizininizi taşır, fazlasını değil. Bir doğrulayıcı bütün listeyi çeker ve sizin dizininizdeki yuvayı okur.

İhraççı, birinin listeyi çektiğini öğrenir. Bunun siz olduğunu ya da kimin sorduğunu öğrenmez. Tasarımın bütün meselesi budur ve pazarlama değil gerçek bir mahremiyet özelliğidir.

Solidus gerçekte ne sevk ediyor

İhraç yolu bir durum iliştirebilir. Bir kimlik bilgisi bir durum parametresiyle verildiğinde, verilen kimlik bilgisi listenin adresini ve içindeki dizini adlandıran bir durum iddiası taşır. Bu uçtan uca bağlanmıştır ve SDK'mızın kendi testleriyle kapsanmıştır.

Listenin kendisi sunuluyor, imzalı, canlı. Uç nokta, content-type: application/statuslist+jwt ve beş dakikalık bir önbellek başlığıyla imzalı bir durum listesi jetonu döndürür, böylece bir doğrulayıcı her kontrolde yeniden çekmek yerine onu kısa süre tutabilir.

Ve bunu nasıl biliyoruz, çünkü yalnızca bir durum kodunu okumak bizi yanıltırdı: var olmayan bir liste kimliği istemek "status list not found" döndürür, rota çalıştı ve veritabanında öyle bir satır yoktu. Var olmayan bir yol istemek "Route GET:… not found" döndürür. İki farklı 404 ve yalnızca ikincisi "eksik" demek. Aynı geçişte bilinen iyi bir uç noktayı kontrol olarak kontrol ettik.

Bunun yapmadığı şey, siz keşfetmeden söylenmiş

Durum, ihraçta isteğe bağlıdır. Durum parametresi olmadan verilen bir kimlik bilgisi hiç durum iddiası taşımaz ve durum iddiası olmayan bir kimlik bilgisi iptal edilemez, çünkü kimsenin bakacağı bir liste ve bir dizin yoktur. "Etkin" değildir; soru hakkında sessizdir.

İptal edilebilirlik sizin için önemliyse, bu ihraççıya sorulacak bir sorudur, bizim desteklediğimiz olgusundan varsayılacak bir şey değil.

Ve bir listenin adresini bilmeden ona göz atamazsınız. Bu sitenin başka yerlerinde size bir komut veriyoruz ve bir cevap alıyorsunuz. Burada, kimlik bilgisi ve liste kimliği olmayan bir yabancının çekeceği hiçbir şey yok; mekanizma kodda ve davranışta kontrol edilebilirdir, ama kendi kendine hizmet veren değildir ve bunu, size hiçbir şey döndüren bir şeyi gösterip ona kanıt demektense söylemeyi tercih ederiz.

Durum iddiasını göz ardı eden bir doğrulayıcıyı bunların hiçbiri durdurmaz. Bir iptal yayımlamak kimseyi onu okumaya zorlamaz. Mekanizmanın bir doğrulayıcıya verdiği şey, kendini duyurmadan kontrol etme yeteneğidir, her doğrulayıcının bunu yaptığı garantisi değil.

Okumaya devam edin

Kimlik Bilgisi Neden Etkin, Askıda ya da İptal Edilmiş Görünüyor · Solidus — Solidus Identity