Girişin Nasıl İşlediği, ve Sunucunun İsteğe Bağlı Bıraktığını Yapan Bir İstemci

Burada giriş yapmak sıradan bir yetkilendirme kodu değişimidir. Onu bir sayfaya değer kılan şey, istemcinin sunucunun zorunlu tutmadığı birkaç şeyi doğru yapmasıdır, ve bu mülk haftalarını tersini belgelemekle geçirdi.

Değişim, adım adım

Cüzdan kriptografik bir kaynaktan üç rastgele değer üretiyor: bir kanıt anahtarı doğrulayıcısı, bir durum değeri, ve bir tek kullanımlık sayı. Kod, daha zayıf bir rastgelelik kaynağının hiçbir zaman kullanılmadığını yorumluyor, ki bu ya doğru olan ya da bir davetiye olan türden bir şeydir.

Onları kısa ömürlü, sunucuya kapsamlanmış, güvenli bir çerezde saklıyor, kabaca bir girişin uzunluğu kadar yaşayan ve hata yolları dâhil her çıkış yolunda temizlenen bir çerez.

Sizi yetkilendirme uç noktasına gönderiyor: yanıt tipi, istemci, dönüş adresi, kapsam, durum, tek kullanımlık sayı, ve tanımlı iki yöntemin daha güçlüsünü kullanan bir kanıt anahtarı sınamasıyla.

Dönüşte durumu kontrol ediyor, sonra kodu doğrulayıcıyla değiştiriyor, sonra kimlik jetonunu doğruluyor, sonra tek kullanımlık sayıyı kontrol ediyor.

Sunucunun zorunlu tutmadıkları göz önüne alındığında her birinin neden önemli olduğu

Kanıt anahtarı değişimi, sunucu yalnızca desteklediğini duyurmasına rağmen gönderiliyor. Keşif yöntemi listeliyor; hiçbir şey onu atlayan bir istemciyi reddetmiyor. Bu istemci yine de gönderiyor, ki duyurusu belgelendirmesinin ima ettiğinden zayıf olan bir sunucuya doğru yanıt budur.

Durum karşılaştırılıyor, ve yokluk reddediliyor. Kod bunu kendi sözcükleriyle söylüyor: eksik ya da süresi dolmuş bir çerez dâhil, herhangi bir uyuşmazlık ya da yoklukta reddet. Eksik bir değeri geçiş sayan bir karşılaştırma, bu mülkün bulmaya devam ettiği kusurdur, ve bunda o kusur yok.

Tek kullanımlık sayı doğrulamadan sonra karşılaştırılıyor, yalnızca okunmuyor. Bir yeniden oynatma koruması taşımakla onu uygulamak arasındaki fark budur.

Jeton algoritması sabitleniyor, veren ve hedef kitleyle birlikte, dolayısıyla beklenmedik bir algoritmayla imzalanmış bir jeton, hangi anahtar uyarsa ona karşı denenmek yerine reddediliyor.

Temiz sonuç, açıkça belirtilmiş

İstemci, sunucunun isteğe bağlı bıraktığını yapıyor.

Kendi yetkilendirme hizmetimiz tazelik ve hedef kitle kontrollerini çağıranın istemesine bağlı kılıyor, ve kanıt anahtarı yöntemini zorunlu tutmadan duyuruyor. Cüzdan bunların hiçbirine dayanmıyor: göndermesi gerekeni gönderiyor ve geri geleni kontrol ediyor.

Kontroller yalnızca uyuşmazlıkta değil yoklukta da reddediyor. Değer eksik olduğunda geçen bir kontrol, bu mülkün kimlik doğrulama sayfalarında belgelenen kusurdur, ve burada onu aramak farkı nasıl bildiğimizdir.

Karşı ağırlık, çünkü temiz bir sonuç tablonun tamamı değil

Bu, cüzdanımızın kendi hizmetimize giriş yapmasıdır. Aynı zamanda işlettiğimiz bir hizmete karşı iyi davranan bir istemci, bir ekosistemi değil mühendisliğimizi gösteriyor.

Ve aldığınız özne, herkesin aldığı öznedir. Girişimiz her doğrulayıcı tarafa aynı tanımlayıcıyı döndürüyor, dolayısıyla bu projenin başka yerinde tarif edilen ilişkilendirme özellikleri, istemci ne kadar dikkatli davranırsa davransın burada da değişmeden geçerlidir.

İyi bir istemcideki hiçbir şey paylaşılan bir tanımlayıcıyı düzeltmiyor. Farklı katmanlardır, ve yalnızca biri düzeltilmiştir.

Kendiniz neyi kontrol edebilirsiniz

Keşif belgesi bir hesap olmadan yanıt veriyor, ve size kanıt anahtarı yönteminin destekleniyor diye duyurulduğunu söyleyecek. Bunu bu istemcinin gönderdiğiyle karşılaştırmak tek istekli bir alıştırmadır, ve desteklenen ile zorunlu kelimelerinin neden farklı olduğunun mevcut en açık gösterimidir.

Okumaya devam edin

Girişin Nasıl İşlediği, ve Sunucunun İsteğe Bağlı Bıraktığını Yapan Bir İstemci · Solidus