SolidusIdentity

Bir Kimlik Bilgisi Teklifi Gelen Kutunuza Nasıl Geliyor

Ve bu sayfadaki en önemli cümle bir sınırlamadır, dolayısıyla en başa geliyor: bir teklifi kabul etmek bugün onu kabul edilmiş olarak işaretliyor. Size bir kimlik bilgisi vermiyor. Ayrıntı aşağıda, kodda.

Gelen kutusunun ne olduğu

Bir kimlik bilgisi teklifleri listesi: bir verenin size bir şey vermeyi önermesi, ki alabilir ya da reddedebilirsiniz. Her teklif bir başlık, verenin adı ve tanımlayıcısı, teklif edilen belirli iddialar, bir son kullanma tarihi ve bir durum taşıyor.

Fark edilmeye değer tasarım noktası: kabul etmeden önce neyin verileceği size gösteriliyor. Teklif ve verme ayrı adımlardır ve ayrım rıza düzeneğinin kendisidir; biri göndermeye karar etti diye cüzdanınıza hiçbir şey düşmüyor.

Yüzey /inbox. İçerik planımız bu sayfayı /credential-offers olarak adlandırıyor; o rota yok: 404 döndürüyor, /inbox ise oturum açmaya yönlendiriyor, ve kasıtlı olarak sahte bir yol da 404 döndürüyor, dolayısıyla fark bir yan etki değil gerçektir.

Kodun gerçekte ne yaptığı

Üç uç nokta, hepsi oturum açmış olmanızı gerektiriyor:

  • GET /, teklifleriniz, isteğe bağlı olarak duruma göre süzülmüş, en yeniden başlayarak.
  • POST /:offerId/accept
  • POST /:offerId/decline

Korumalar doğrudur ve belirtmeye değer, çünkü özensiz bir uygulamanın sızdırdığı yer burasıdır:

  • Size ait olmayan bir teklif "bulunamadı" döndürüyor, "yasak" değil. Arama sizin kullanıcınıza kapsamlanmış, dolayısıyla uç nokta başkalarının tekliflerinin varlığını doğrulamıyor.
  • pending olmayan bir teklif bir çakışma döndürüyor. İki kez kabul edemez ya da çoktan reddedilmiş bir şeyi kabul edemezsiniz.

Ve sonra kabul etmek, sözcüğün düşündürdüğünden azını yapıyor

accept, teklifin durumunu accepted olarak güncelliyor ve size bir bildirim yazıyor. İşlemin tamamı budur.

Hiçbir kimlik bilgisi oluşturulmuyor. Varsaymak yerine kontrol ettik: credential_offers tablosuna tam olarak tek bir dosyada dokunuluyor, credential_id sütununu hiçbir şey ayarlamıyor ve kabul edilmiş teklifleri hiçbir işçi ya da iş tüketmiyor. Bir kontrol taraması, aramanın kendisinin çalıştığını doğruladı.

Yani bugünkü gelen kutusunun dürüst tarifi şu: henüz bağlanmamış bir verme adımının önünde çalışan bir rıza yüzeyi. Kararınızın kaydı gerçektir. Kimlik bilgisi değildir.

Bunu "verme eşzamansızdır" ya da "kimlik bilgisi birazdan görünür" diye tarif etmeyeceğiz. Görünmüyor. Bir teklifi kabul eder ve sonra bir kimlik bilgisi ararsanız, bir tane olmayacak ve bakmadan önce bunu bilmek bu sayfanın var oluş sebebidir.

Bunun pratikte ne anlama geldiği

  • Yanıttaki credentialId alanı var ve boş kalıyor. API şeklini okuyan bir geliştirici, makul biçimde onun dolmasını bekleyebilir. Dolmuyor.
  • Reddetmek tam olarak söylediği gibi çalışıyor: bir durum değişikliğidir ve orada amaçlanan davranışın tamamı bir durum değişikliğidir. Reddetme tamamdır; kabul değildir.
  • Kabul ettikten sonra aldığınız bildirim kimlik bilgileri listenize bağlanıyor. O bağlantı şu anda akışın en zayıf kısmıdır, çünkü işaret ettiği şey yeni kimlik bilgisini içermeyecek.

Kendiniz neyi kontrol EDEMEZSİNİZ ve bunu neden söylüyoruz

Bu yüzey kimlik doğrulamasının arkasında. /inbox oturum açmaya yönlendiriyor, dolayısıyla bir yabancı yukarıdakilerin hiçbirini hesap olmadan inceleyemiyor.

Bu sitenin başka yerlerinde size bir komut veriyoruz ve bir cevap alıyorsunuz: bir tanımlayıcıyı çözümlemek ya da bir kimlik bilgisinin yapısını okumak. Burada veremiyoruz, dolayısıyla bu sayfa "kendiniz çalıştırın" türünden değil "kodu okuduk" türünden bir kanıttır, ve sizi göründüğünden azını kanıtlayan bir şeye yönlendirmektense onu dürüstçe notlandırmayı tercih ederiz.

Okumaya devam edin

Bir Kimlik Bilgisi Teklifi Gelen Kutunuza Nasıl Geliyor · Solidus — Solidus Identity