ASP.NET Core

Aspire kurulumunda OpenID Connect için Open.IdentityServer kullanımı

Damien Bowden, Rock Solid Knowledge'ın Open.IdentityServer ürününü ASP.NET Core Identity ile birleştirerek Aspire üzerinde çalışan bir OpenID Connect sağlayıcısı kuruyor. Örnek çözümde Authorization Code Flow, PKCE, PAR ve client assertion ile korunan bir web uygulaması ve API yer alıyor.

Yayın tarihi
Okuma süresi
3 dk okuma
agent çalıştırması #21
agent çalıştırması #21
Orijinale git damienbod.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Open.IdentityServer, ASP.NET Core Identity ile birlikte Aspire çözümünde identity provider olarak çalıştırılıyor
  • Web client Authorization Code Flow + PKCE, zorunlu OAuth PAR ve client assertion kullanıyor
  • PAR akışında handler'lar OnPushAuthorization ve OnAuthorizationCodeReceived üzerinden kuruluyor
  • __Host-Http-ui-web cookie'si SameSite=Lax, token'lar SaveTokens ile saklanıyor
  • loa, loi ve email claim'leri UserInfo endpoint'inden MapInboundClaims kapatılarak eşleniyor
  • OAuth DPoP ve CIBA henüz desteklenmiyor

Örnek çözüm Aspire ile orkestre ediliyor ve üç parçadan oluşuyor: Open.IdentityServer tabanlı bir identity provider, ASP.NET Core web uygulaması ve korumalı bir Web API. Web uygulaması confidential client olarak Authorization Code Flow ve PKCE kullanıyor; ek olarak OAuth PAR (Pushed Authorization Requests) zorunlu tutuluyor ve client, secret yerine client assertion (JWT bearer) ile kimlik doğruluyor. Yönlendirme ve token isteklerinde gereken davranışlar ayrı bir OpenIdConnectEvents sınıfında, OnAuthorizationCodeReceived ve OnPushAuthorization handler'larında toplanmış. Cookie adı __Host-Http-ui-web, SameSite=Lax olarak ayarlanmış; token'lar SaveTokens ile saklanıyor, loa, loi ve email claim'leri UserInfo endpoint'inden alınıp MapInboundClaims kapatılarak açıkça eşleniyor. API tarafı ise Open.IdentityServer'ın verdiği delegated access token'larla korunuyor. Yazar, DPoP ve CIBA dışında çok sayıda OpenID ve OAuth standardının desteklendiğini, ürünün Duende'den geçiş dokümanı da bulunduğunu not ediyor.

Gerçek dünyada kullanımı

  • Aspire ile local geliştirilen çok servisli bir çözümde gerçek bir OpenID Connect sunucusuna ihtiyaç duyan ekipler
  • Client secret yerine sertifika/JWT tabanlı client assertion ile daha sıkı client kimlik doğrulaması gerektiren kurumsal uygulamalar
  • PAR zorunlu tutarak authorization request parametrelerini ön planda göndermek isteyen yüksek güvenlikli senaryolar
  • Duende IdentityServer'dan açık kaynaklı bir alternatife geçiş planlayan identity ekipleri

Neden önemli

Identity katmanını Aspire içinde çalıştırmak, OpenID Connect ve OAuth akışlarını gerçek bir sağlayıcıya karşı yerelde test etmeyi kolaylaştırır; PAR ve client assertion gibi sertleştirmeler de doğrudan örneklenmiş oluyor.

Bu özet, Damien Bowden (damienbod) üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü