SolidusIdentity

Uygulamama Bugün 'Solidus ile Giriş Yap' Ekleyebilir miyim?

Evet. Çalışan bir OpenID Connect vereni var, ve bize sormadan bir istemci kaydedebilirsiniz. Bunu bu oturumda tam olarak öyle yaparak doğruladık.

Ve bu sayfadaki en önemli paragraf, onu kullanmaya karşı çıkan paragraftır: daha aşağıda, ve bir formalite değil.

Gösterim

$ curl -s https://auth.solidus.network/.well-known/openid-configuration

Tam bir keşif belgesi döndürüyor: yetkilendirme, jeton, kullanıcı bilgisi, JWKS, kayıt, içgözlem ve iptal uç noktaları; PKCE (S256) ile code yanıt türü; authorization_code ve refresh_token izinleri; EdDSA ile imzalanmış kimlik jetonları; duyurulmuş DPoP.

Ve kayıt açıktır:

$ curl -s -X POST https://auth.solidus.network/register \
    -H 'Content-Type: application/json' \
    -d '{"client_name":"probe","redirect_uris":["https://example.test/cb"]}'
  → 201  {"client_id":"solid-dyn-…","client_id_issued_at":…}

Kontroller, ki sonuç bir anlam taşısın: aynı .well-known yolu kimlik sunucumuzda 404 döndürüyor, dolayısıyla evrensel olarak sunulmuyor; kimlik doğrulama sunucusundaki uydurma bir .well-known yolu rota-bulunamadı döndürüyor; ve uydurma bir POST rotası, 201 yerine web sunucusundan 405 döndürüyor. 201 gerçek bir kayıttır, bir yakala-hepsini değil.

Açıkça söylemeliyiz ki o komutu çalıştırmak canlı bir hizmette bir istemci kaydı oluşturdu. Etkisizdir, hiçbir gizli anahtar kullanılmadı ve hiçbir oturum açma akışı tamamlanmadı, ama bir yazma işlemiydi, ve bunu açıklamak yöntemi yayımlamanın bir parçasıdır.

Yani çalışıyor. İşte neden iki kez düşünmeniz gerektiği.

Bu düğmeyi ekleyen bir uygulama, bize bir kimlik sağlayıcı olarak güveniyor.

Bu, bütün bu sitenin karşı çıktığı düzenlemedir. Merkeziyetsiz kimlik için kendi savımız kimlik tek bir yerde yaşadığında ne olduğuna dayanıyor, ve kullanıcılarınız bizim verenimiz üzerinden giriş yapıyorsa, o tek yer biziz. Oturum açmayı görebiliriz, istemciyi iptal edebiliriz, ve hizmeti işletmeyi bırakırsak kullanıcılarınız giriş yapamaz hâle gelir.

Bunu egemenlik diye satmayacağız. Barındırılan bir oturum açmadır, ve kolaylığı tam olarak başka yerde eleştirdiğimiz özellikten geliyor.

Bu olmayan sürüm, kimlik bilgisi yoludur: bir veren bir iddiayı imzalıyor, tutan onu saklıyor, ve uygulamanız onu verenin açık anahtarıyla, bize hiçbir çağrı yapmadan doğruluyor. Bu, bir güvenen tarafın bir kimlik bilgisini nasıl doğruladığıdır, hiçbir istemci kaydına ihtiyacı yoktur, ve onunla ilgili hiçbir şey bizim çalışır durumda olmamıza bağlı değildir.

Her iki yol için dürüst karne

barındırılan oturum açma kimlik bilgisini kendiniz doğrulama
Bugün erişilebilir evet evet
Çalışma zamanında bize ihtiyaç duyuyor evet, her girişte hayır
Biz yok olursak çalışır hayır evet
Kurulum çabası tek bir kayıt çağrısı iki kütüphane çağrısını bağlamak
Kullanıcının güvendiği taraf biz veren, her kimse
Dışarıdan denetlenmiş hayır hayır

Burada gerçekten iyi kurulmuş olan

  • PKCE duyuruluyor ve tek yanıt türü code. Örtük akış yok. Doğru çağdaş duruş budur.
  • DPoP duyuruluyor, ki bu, jetonlar üzerinde yalnızca-hamiline yerine bir gönderen kısıtıdır.
  • İçgözlem ve iptal uç noktaları var, dolayısıyla bir güvenen taraf denetleyip iptal edebilir.
  • DID oturum açma yolu tek kullanımlık, süresi dolan bir meydan okuma kullanıyor, varsayılmış değil, arka uç kodunda denetlenmiş hâlde.

Bunlar gerçek mühendislik kararlarıdır ve doğru olanlardır. Yukarıdaki itirazın gerçekleştirimin özensiz olduğunu ima etmesine izin vermektense onları kredilendirmeyi tercih ederiz: özensiz değil.

Kurulmamış olan

  • Markalı hazır bir bileşen yok. Düğme yok, React paketi yok, barındırılan araç yok. OpenID Connect'i kendiniz bağlıyorsunuz, başka herhangi bir verenle olduğu gibi.
  • Ölçümleme, plan ya da fiyat yok. Hiçbir şey için yerleşmiş bir fiyatımız yok.
  • İstemci kaydında onay adımı yok. Herkes kaydolabilir, ki bu bilinçlidir ve üretim için koruyacağımız bir duruş değildir: ölçümlenmemiş tanımlayıcı oluşturmayla aynı biçim.
  • Onu kullandığı bilinen hiçbir üçüncü taraf uygulaması yok. Bir tane bile.

Bunu kimin kullanmaması gerektiği

Kullanıcılarının, biz gidersek elinde kalabilecek bir oturum açmaya ihtiyaç duyan herkes. Tehdit modeli kimlik sağlayıcıyı içeren herkes. Bir denetime, bir hizmet düzeyi anlaşmasına, ya da arayacak birine ihtiyaç duyan herkes.

Bu projenin gerçekte savunduğu özelliği istiyorsanız, kimlik bilgilerini doğrudan doğrulayın ve düğmeyi atlayın.

Okumaya devam edin

Uygulamama Bugün 'Solidus ile Giriş Yap' Ekleyebilir miyim? · Solidus — Solidus Identity