﻿
{"id":18479,"date":"2020-10-21T17:04:24","date_gmt":"2020-10-21T17:04:24","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=18479"},"modified":"2020-10-21T17:04:24","modified_gmt":"2020-10-21T17:04:24","slug":"identityserver4-yazi-serisi-6-introspection-endpoint","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/identityserver4-yazi-serisi-6-introspection-endpoint\/","title":{"rendered":"IdentityServer4 Yaz\u0131 Serisi #6 \u2013 Introspection Endpoint"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p><a href=\"https:\/\/www.gencayyildiz.com\/blog\/identityserver4-yazi-serisi\/\" rel=\"noopener noreferrer\" target=\"_blank\">IdentityServer4 Yaz\u0131 Serisi<\/a>nin bir \u00f6nceki <a href=\"https:\/\/www.gencayyildiz.com\/blog\/identityserver4-yazi-serisi-5-discovery-endpoint\/\" rel=\"noopener noreferrer\" target=\"_blank\">Discovery Endpoint<\/a> ba\u015fl\u0131kl\u0131 makalesinde IdentityServer4 framework&#8217;\u00fcn\u00fcn hali haz\u0131rda endpoint&#8217;leri oldu\u011fundan bahsettik ve bunlar aras\u0131ndan Auth Server&#8217;\u0131 ke\u015ffetmemizi sa\u011flayan Discovery Endpoint&#8217;i ele ald\u0131k. Bu i\u00e7eri\u011fimizde ise client a\u00e7\u0131s\u0131ndan elde edilen token de\u011ferinin hedef API i\u00e7in yetkili olup olmad\u0131\u011f\u0131n\u0131 denetlememizi sa\u011flayan Introspection Endpoint&#8217;i inceliyor olaca\u011f\u0131z.<\/p>\n<p><strong>Introspection Endpoint Nedir?<\/strong><br \/>\nYukar\u0131da bahsedildi\u011fi gibi client taraf\u0131nda bulunan token de\u011ferinin hedef API i\u00e7in uygun oldu\u011funu do\u011frulamak i\u00e7in kullan\u0131lan endpoint \u00e7e\u015fididir. Buradaki do\u011frulama esas\u0131nda kimlik do\u011frulamas\u0131n\u0131n ta kendisidir. <code style=\"color:red;font-size:14px;\">\/connect\/introspect<\/code> adresinden ilgili endpoint tetiklenebilir.<\/p>\n<p><strong>Introspection Endpoint&#8217;i Tetikleme<\/strong><br \/>\nBunun i\u00e7in \u00f6ncelikle elimizde hali haz\u0131rda bir token de\u011ferinin olmas\u0131 gerekmektedir.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint.jpg\" alt=\"IdentityServer4 Yaz\u0131 Serisi #6 \u2013 Introspection Endpoint\" width=\"918\" height=\"503\" class=\"aligncenter size-full wp-image-18486\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint.jpg 918w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-300x164.jpg 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-768x421.jpg 768w\" sizes=\"auto, (max-width: 918px) 100vw, 918px\" \/><\/a><br \/>\n\u0130lgili token de\u011ferini edindikten sonra Introspection Endpoint&#8217;i tetikleyebiliriz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-1.jpg\" alt=\"IdentityServer4 Yaz\u0131 Serisi #6 \u2013 Introspection Endpoint\" width=\"928\" height=\"248\" class=\"aligncenter size-full wp-image-18488\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-1.jpg 928w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-1-300x80.jpg 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-1-768x205.jpg 768w\" sizes=\"auto, (max-width: 928px) 100vw, 928px\" \/><\/a><br \/>\nIntrospection Endpoint&#8217;i tetikleyebilmek i\u00e7in \u00f6ncelikle &#8216;Authorization&#8217; sekmesinden &#8216;Basic Auth&#8217;u se\u00e7iniz. &#8216;Basic Auth&#8217;; temel seviyede kullan\u0131c\u0131 ad\u0131 ve \u015fifre ile kimlik do\u011frulamas\u0131d\u0131r. Dolay\u0131s\u0131yla burada da API&#8217;lar i\u00e7in bir kimlik do\u011frulama ger\u00e7ekle\u015ftirilmektedir. Burada API&#8217;lar\u0131n username ve password de\u011ferleri i\u00e7in <a href=\"https:\/\/www.gencayyildiz.com\/blog\/identityserver4-yazi-serisi-3-client-credentials\/\" rel=\"noopener noreferrer\" target=\"_blank\">Auth Server<\/a>&#8216;da tan\u0131mlanan ve temel konfig\u00fcrasyonlar\u0131 bulunduran &#8216;Config.cs&#8217; dosyas\u0131ndaki &#8216;GetApiResources&#8217; metodunda a\u015fa\u011f\u0131daki eklemelerin yap\u0131lmas\u0131 gerekmektedir.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-2.jpg\" alt=\"IdentityServer4 Yaz\u0131 Serisi #6 \u2013 Introspection Endpoint\" width=\"502\" height=\"509\" class=\"aligncenter size-full wp-image-18490\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-2.jpg 502w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-2-296x300.jpg 296w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/a><br \/>\nG\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere sistemde kullan\u0131lacak API&#8217;lar\u0131 ifade etmek i\u00e7in tan\u0131mlanan &#8216;ApiResource&#8217;lere, &#8216;ApiSecrets&#8217; property&#8217;si \u00fczerinden bir secret de\u011fer eklenmi\u015ftir. Bu de\u011fer ilgili API&#8217;lar\u0131n password niteli\u011fine kar\u015f\u0131l\u0131k gelmektedir. K\u0131rm\u0131z\u0131yla i\u015faretlenmi\u015f olan resource isimleri ise username&#8217;e tekab\u00fcl etmektedir.<\/p>\n<p>Velhas\u0131l, ilgili de\u011ferleri alanlar\u0131na yazd\u0131ktan sonra &#8216;Body&#8217; sekmesinden &#8216;token&#8217; tan\u0131m\u0131na kar\u015f\u0131l\u0131k JWT de\u011ferini vererek &#8216;POST&#8217; edilmesi yeterli olacakt\u0131r.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-3.jpg\" alt=\"IdentityServer4 Yaz\u0131 Serisi #6 \u2013 Introspection Endpoint\" width=\"848\" height=\"501\" class=\"aligncenter size-full wp-image-18493\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-3.jpg 848w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-3-300x177.jpg 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-3-768x454.jpg 768w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/a><\/p>\n<p>Sonu\u00e7 olarak istek neticesinde elde edilen de\u011fere g\u00f6z atarsan\u0131z e\u011fer ilgili token&#8217;\u0131n hedef API&#8217;a uygunluk derecesini g\u00f6rebilir ve hangi yetkilerle eri\u015fim sa\u011flanabilece\u011fini dahi inceleyebilirsiniz. Tabi yetkisiz bir token&#8217;\u0131n de\u011ferlendirilmesinde bulunuyorsan\u0131z<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4-Yazi-Serisi-6-\u2013-Introspection-Endpoint-4.jpg\" alt=\"IdentityServer4 Yaz\u0131 Serisi #6 \u2013 Introspection Endpoint\" width=\"114\" height=\"49\" class=\"aligncenter size-full wp-image-18497\" \/><\/a><br \/>\nsonucunu elde edersiniz&#8230;<\/p>\n<p>Misal,&#8217;HalkBank&#8217; API&#8217;\u0131na eri\u015fim yetkisi olmayan bir client&#8217;\u0131n elde etti\u011fi token de\u011ferini ilgili API i\u00e7in deneyerek, sonu\u00e7lar\u0131n\u0131 incelemeyi deneyebilirsiniz \ud83d\ude09 Buyrun pratiksel bir vazifeyle sizleri ba\u015f ba\u015fa b\u0131rak\u0131yorum \ud83d\ude42<\/p>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<p>Not : \u00d6rnek uygulamay\u0131 indirebilmek i\u00e7in <a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/10\/IdentityServer4Example-2.zip\">buraya<\/a> t\u0131klay\u0131n\u0131z.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, IdentityServer4 Yaz\u0131 Serisinin bir \u00f6nceki Discovery Endpoint ba\u015fl\u0131kl\u0131 makalesinde IdentityServer4 framework&#8217;\u00fcn\u00fcn hali haz\u0131rda endpoint&#8217;leri oldu\u011fundan bahsettik ve bunlar aras\u0131ndan Auth Server&#8217;\u0131 ke\u015ffetmemizi sa\u011flayan Discovery Endpoint&#8217;i ele ald\u0131k. Bu i\u00e7eri\u011fimizde ise client a\u00e7\u0131s\u0131ndan elde&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":18168,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3826],"tags":[3827,3861,3860],"class_list":["post-18479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-identityserver4","tag-identityserver4","tag-identityserver4-introspection-endpoint","tag-introspection-endpoint"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/18479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=18479"}],"version-history":[{"count":14,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/18479\/revisions"}],"predecessor-version":[{"id":18499,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/18479\/revisions\/18499"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/18168"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=18479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=18479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=18479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}