Yazılım Mimarileri ve Tasarım Desenleri Üzerine

IdentityServer4 Yazı Serisi #11 – Merkezi Üyelik Sistemi Temelleri

Merhaba,

Bu içeriğimizde yazı serimiz boyunca ara ara geliştirdiğimiz örnek uygulama üzerinden Merkezi Üyelik Sistemi’ni örneklendireceğiz. Geliştirdiğimiz uygulamanın bu makaleye kadar olan en son halini elde edebilmek için buraya tıklayınız.

Şimdi Merkezi Üyelik Sistemi örneklendirmesi için adım adım aşağıdaki önergeleri takip edelim;

İşte bu kadar… 🙂

Örnek Uygulama Testi

Şimdi geliştirdiğimiz bu örnek uygulamayı topyekün ayağa kaldırarak tam teferruatlı test edelim.

Yukarıdaki ekran görüntüsünden de görüldüğü üzere testimiz başarıyla sonuçlanmış ve client authorization code’u cookie olarak almış bulunmaktadır. Dikkat ederseniz user, ‘OdemeYap’ action’ına erişmeye çalıştığı vakit ‘Authorize’ attribute’u sayesinde yetkisiz kullanıcı olduğu anlaşılmakta ve ‘AuthServer’ adresindeki ‘login’ sayfasına aşağıdaki adres üzerinden yönlendirilmektedir.(Ne yazık ki ekran görüntüsünü alırken kullanılan Opera tarayıcısı query string değerlerini görmemizi engellemektedir.)

https://localhost:1000/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3DOnlineBankamatik%26redirect_uri
%3Dhttps%253A%252F%252Flocalhost%253A4000%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%26response_mode%3Dform_post%26nonce%3D637396
630618971508.ZWEyNjYzNTAtMmYyNS00OGEyLThhOGEtMjY4ZDk1ZjlkMjU1NGM4OWQ0MmMtMGEz
OC00MzhlLWEyNTEtMWIxYjJmNmNiYzAx%26state%3DCfDJ8MUlvpM_ov1Il6SbMbgfypVc7I_
Cgt3Ld5pnDRb1gWJfV371PJnQKk_UcLTSqYcxHgXn4gsPZl3Y3GV-VaDCSYkT8a9poiM1nPvMRprJzoxy_4EhZvkZRQR7JEFIp7K5HLT7Q_lEj5Zsm4Ead02luApp9bE8BR_6YyhMchH7u7c2amvUEgH
sZ65l0-zQH6jqGg2BXaLKK-hoqSXYGFpCMRgveuVIgyomL1P9wM7nAJ2Al8T9PmXlvXvOLCBrPyHfuOca1-DZ9MDiNgFps9TO0YJ82r5qJrYhv81XUq2qFgXE-hC6Aiz0o
213O9R5JkuoIw%26x-client-SKU%3DID_NETSTANDARD2_0%26x-client-ver%3D5.5.0.0

Kullanıcı bilgilerini giren kullanıcı onaylandıktan sonra tekrar ‘AuthServer’ tarafından ilgili client’a ‘idsrv’ adı altında bir cookie ile yönlendirilmekte ve erişim sağlanmaktadır.

Evet… Böylece client ‘AuthServer’dan yetki(authorization code) almış bulunmaktadır. Bundan sonra bu authorization code’u kullanarak kullanıcıya dair claim’leri okuyabilir, access token, refresh token, id token vs. gibi bilgileri elde edebilir ve API’lara isteklerde bulunabiliriz.

Tabi ki de bu işlemleri sonraki makalelere bırakıyorum 🙂

İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Not : Örnek uygulamayı indirmek için buraya tıklayınız.

Exit mobile version