{"id":71307,"date":"2020-02-24T22:18:55","date_gmt":"2020-02-24T19:18:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt"},"modified":"2020-03-03T16:14:27","modified_gmt":"2020-03-03T13:14:27","slug":"identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","title":{"rendered":"IdentityServer4. Alapfogalmak. OpenID Connect, OAuth 2.0 \u00e9s JWT","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ezzel a bejegyz\u00e9ssel szeretn\u00e9m megnyitni az IdentityServer4-r\u0151l sz\u00f3l\u00f3 cikkek sorozat\u00e1t. Az alapfogalmakkal kezdj\u00fck.<\/p>\n<p><\/p>\n<p>Jelenleg a leg\u00edg\u00e9retesebb hiteles\u00edt\u00e9si protokoll <noindex><a rel=\"nofollow\" href=\"https:\/\/openid.net\/connect\/\">OpenID Connect<\/a><\/noindex>, m\u00edg a hozz\u00e1f\u00e9r\u00e9si enged\u00e9lyez\u00e9si protokoll <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/OAuth#OAuth_2.0\">OAuth 2.0<\/a><\/noindex>. <noindex><a rel=\"nofollow\" href=\"https:\/\/identityserver4.readthedocs.io\/en\/latest\/\">IdentityServer4<\/a><\/noindex> val\u00f3s\u00edtja meg ezeket a k\u00e9t protokollt. Optimaliz\u00e1lva van a <strong>tipikus biztons\u00e1gi probl\u00e9m\u00e1k<\/strong> kezel\u00e9s\u00e9re.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p><noindex><a rel=\"nofollow\" href=\"https:\/\/openid.net\/connect\/\">OpenID Connect<\/a><\/noindex> \u2014 ez egy hiteles\u00edt\u00e9si protokoll \u00e9s szabv\u00e1ny, amely nem biztos\u00edt hozz\u00e1f\u00e9r\u00e9st az er\u0151forr\u00e1sokhoz (Web API), de mivel az enged\u00e9lyez\u00e9si protokollra \u00e9p\u00fcl <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/OAuth#OAuth_2.0\">OAuth 2.0<\/a><\/noindex>, lehet\u0151v\u00e9 teszi a felhaszn\u00e1l\u00f3i profilparam\u00e9terek megszerz\u00e9s\u00e9t, mintha hozz\u00e1f\u00e9r\u00e9st kaptunk volna az er\u0151forr\u00e1shoz. <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.identityserver.io\/en\/latest\/endpoints\/userinfo.html\">UserInfo<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/JSON_Web_Token\">JWT<\/a><\/noindex> A (JSON Web Token) egy webes szabv\u00e1ny, amely meghat\u00e1rozza a felhaszn\u00e1l\u00f3i adatok JSON form\u00e1tumban t\u00f6rt\u00e9n\u0151, titkos\u00edtott tov\u00e1bb\u00edt\u00e1s\u00e1nak m\u00f3dj\u00e1t.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc6749\">OAuth 2.0 (RFC 6749)<\/a><\/noindex> \u2014 ez egy enged\u00e9lyez\u00e9si protokoll \u00e9s szabv\u00e1ny. Lehet\u0151v\u00e9 teszi az alkalmaz\u00e1sok sz\u00e1m\u00e1ra, hogy hozz\u00e1f\u00e9rjenek a v\u00e9dett er\u0151forr\u00e1sokhoz, p\u00e9ld\u00e1ul a Web API-hoz.<\/p><\/blockquote>\n<p>N\u00e9zz\u00fck meg a v\u00e9dett er\u0151forr\u00e1shoz val\u00f3 hozz\u00e1f\u00e9r\u00e9s diagramj\u00e1t, \u00e9s vizsg\u00e1ljuk meg az alapvet\u0151 l\u00e9p\u00e9seket \u00e9s a haszn\u00e1lt terminol\u00f3gi\u00e1t:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"IdentityServer4. Alapfogalmak. OpenID Connect, OAuth 2.0 \u00e9s JWT\" src=\"\/wp-content\/uploads\/2020\/02\/0515b7bc9a4598c557189f8e5ff2c3f5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ol>\n<li>\n<p>A kliens k\u00e9rv\u00e9nyezi a felhaszn\u00e1l\u00f3t\u00f3l, hogy engedje meg sz\u00e1m\u00e1ra az az \u0151 nev\u00e9ben t\u00f6rt\u00e9n\u0151 hiteles\u00edt\u00e9st. <strong>\u00dcgyf\u00e9l<\/strong> \u2014 ez a kliensalkalmaz\u00e1s, amely a v\u00e9dett er\u0151forr\u00e1sokhoz fordul a forr\u00e1sok tulajdonosa nev\u00e9ben. <strong>Az er\u0151forr\u00e1s<\/strong> \u2014 ez minden v\u00e9dett szolg\u00e1ltat\u00e1sunk <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.microsoft.com\/ru-ru\/aspnet\/core\/tutorials\/first-web-api?view=aspnetcore-3.1&amp;tabs=visual-studio\">Web API<\/a><\/noindex>.<\/p>\n<p>\n<\/li>\n<li>\n<p>A felhaszn\u00e1l\u00f3 enged\u00e9lyezi a kliensalkalmaz\u00e1s sz\u00e1m\u00e1ra, hogy az \u0151 nev\u00e9ben v\u00e9gezze el a hiteles\u00edt\u00e9st, p\u00e9ld\u00e1ul be\u00edrja a felhaszn\u00e1l\u00f3nevet \u00e9s a jelsz\u00f3t. A felhaszn\u00e1l\u00f3n\u00e9v \u00e9s jelsz\u00f3 adja meg a kliensalkalmaz\u00e1s enged\u00e9lyez\u00e9si jogosults\u00e1g\u00e1t. <strong>User (forr\u00e1s tulajdonosa)<\/strong> \u2014 program vagy szem\u00e9ly, aki hozz\u00e1f\u00e9r\u00e9st biztos\u00edthat a v\u00e9dett er\u0151forr\u00e1sokhoz, p\u00e9ld\u00e1ul a felhaszn\u00e1l\u00f3n\u00e9v (username) \u00e9s a jelsz\u00f3 (password) megad\u00e1s\u00e1val;<\/p>\n<p>\n<\/li>\n<li>\n<p>A kliensalkalmaz\u00e1s hozz\u00e1f\u00e9r\u00e9si tokent k\u00e9r a <code>IdentityServer4<\/code> a saj\u00e1t inform\u00e1ci\u00f3inak megad\u00e1s\u00e1val (<code>client_id<\/code>, <code>client_secret<\/code>), a felhaszn\u00e1l\u00f3 hiteles\u00edt\u00e9si enged\u00e9ly\u00e9nek megad\u00e1s\u00e1val (<code>username<\/code>, <code>password<\/code>) \u00e9s a <code>grant_type<\/code> \u00e9s <code>scope<\/code>megad\u00e1s\u00e1val. Ezut\u00e1n az enged\u00e9lyez\u00e9si szerver ellen\u0151rzi a kliens \u00e9s a forr\u00e1stulajdonos (felhaszn\u00e1l\u00f3n\u00e9v \u00e9s jelsz\u00f3) hiteless\u00e9g\u00e9t. <\/p>\n<p><\/p>\n<blockquote><p>Az OAuth 2.0 protokoll nemcsak a felhaszn\u00e1l\u00f3, hanem a v\u00e9dett er\u0151forr\u00e1sokhoz hozz\u00e1f\u00e9r\u00e9st kivitelez\u0151 kliensalkalmaz\u00e1s hiteles\u00edt\u00e9s\u00e9t is v\u00e9gzi. Ehhez a protokoll olyan param\u00e9tereket \u00edr el\u0151, mint a <strong>client_id<\/strong> \u00e9s <strong>client_secret<\/strong>.<br \/>\n<strong>client_id<\/strong> \u2014 ez a kliensalkalmaz\u00e1s azonos\u00edt\u00f3ja, amelyet <code>IdentityServer4<\/code> az \u00fcgyf\u00e9l inform\u00e1ci\u00f3inak keres\u00e9s\u00e9re haszn\u00e1lnak.<br \/>\n<strong>client_secret<\/strong> ez a kliensalkalmaz\u00e1s jelszav\u00e1nak megfelel\u0151je, \u00e9s a kliensalkalmaz\u00e1s hiteles\u00edt\u00e9s\u00e9re haszn\u00e1lj\u00e1k. <code>IdentityServer4<\/code>. <strong>A kliens titk\u00e1t csak az alkalmaz\u00e1snak \u00e9s az API-nak kell ismernie.<\/strong>. Az eddigiek alapj\u00e1n levonjuk a k\u00f6vetkeztet\u00e9st, hogy <strong>Az IdentityServer4-nek tudnia kell az \u00fcgyfeleir\u0151l.<\/strong>.<\/p><\/blockquote>\n<p>\n<\/li>\n<li>\n<p>Ha az alkalmaz\u00e1s hiteles\u00edt\u00e9se meger\u0151s\u00edtett \u00e9s az enged\u00e9lyez\u00e9s \u00e9rv\u00e9nyes, <code>IdentityServer4<\/code> l\u00e9trehoz <code>access token-t<\/code> (hozz\u00e1f\u00e9r\u00e9si token) az alkalmaz\u00e1s sz\u00e1m\u00e1ra, \u00e9s egy opcion\u00e1lis friss\u00edt\u0151kulcsot (<code>refresh token<\/code>). Az enged\u00e9lyez\u00e9si folyamat befejez\u0151d\u00f6tt. Ha a k\u00e9r\u00e9s \u00e9rv\u00e9nytelen vagy jogosulatlan, az enged\u00e9lyez\u00e9si szerver hibak\u00f3ddal \u00e9s a megfelel\u0151 hiba\u00fczenettel t\u00e9r vissza.<\/p>\n<p>\n<\/li>\n<li>\n<p>A kliens alkalmaz\u00e1s adatokat k\u00e9r a v\u00e9dett Web API-t\u00f3l, mik\u00f6zben a hozz\u00e1f\u00e9r\u00e9si token-t biztos\u00edtja az enged\u00e9lyez\u00e9shez. Ha a szerver v\u00e1laszk\u00f3dja <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_HTTP#401\">401<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_HTTP#403\">403<\/a><\/noindex> vagy <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_HTTP_status_codes\">498<\/a><\/noindex>, akkor a hiteles\u00edt\u00e9shez haszn\u00e1lt hozz\u00e1f\u00e9r\u00e9si token \u00e9rv\u00e9nytelen vagy lej\u00e1rt.<\/p>\n<p>\n<\/li>\n<li>\n<p>Ha a token \u00e9rv\u00e9nyes, <code>Web API<\/code> az adatok \u00e1tad\u00e1sra ker\u00fclnek az alkalmaz\u00e1snak.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<h4 id=\"_tipy-tokenov_\"><em>Token t\u00edpusok<\/em><\/h4>\n<p><\/p>\n<p>A regisztr\u00e1lt <code>IdentityServer4<\/code> \u00fcgyfelek jogosultak a <code>IdentityServer4<\/code> <code>identity<\/code>-token, <code>hozz\u00e1f\u00e9r\u00e9s<\/code>-token \u00e9s <code>friss\u00edt\u00e9s<\/code>-token k\u00e9r\u00e9s\u00e9re.<\/p>\n<p><\/p>\n<ul>\n<li><strong>identity token (azonos\u00edt\u00f3 token)<\/strong> \u2014 a hiteles\u00edt\u00e9si folyamat eredm\u00e9nye. Tartalmazza a felhaszn\u00e1l\u00f3i azonos\u00edt\u00f3t \u00e9s inform\u00e1ci\u00f3kat arr\u00f3l, hogy mik\u00e9nt \u00e9s mikor t\u00f6rt\u00e9nik a felhaszn\u00e1l\u00f3 hiteles\u00edt\u00e9se. Saj\u00e1t adatokkal b\u0151v\u00edthet\u0151.<\/li>\n<li><strong>access token (hozz\u00e1f\u00e9r\u00e9si token)<\/strong> \u2014 a v\u00e9dett API-hoz ker\u00fcl tov\u00e1bb\u00edt\u00e1sra, \u00e9s azt haszn\u00e1lja a hozz\u00e1f\u00e9r\u00e9s enged\u00e9lyez\u00e9s\u00e9re a saj\u00e1t adataihoz.<\/li>\n<li><strong>refresh token (friss\u00edt\u0151 token)<\/strong> \u2014 opcion\u00e1lis param\u00e9ter, amelyet az enged\u00e9lyez\u00e9si szerver visszaadhat a hozz\u00e1f\u00e9r\u00e9si token k\u00e9r\u00e9s\u00e9re adott v\u00e1laszban.<\/li>\n<\/ul>\n<p><\/p>\n<p>Bevezet\u00fcnk m\u00e9g k\u00e9t fogalmat:<\/p>\n<p><\/p>\n<p><strong>Authenticatation Server Url<\/strong> \u2014 a hozz\u00e1f\u00e9r\u00e9si kulcs megszerz\u00e9s\u00e9nek v\u00e9gpontja. Minden hozz\u00e1f\u00e9r\u00e9si kulcs k\u00e9r\u00e9s\u00e9t \u00e9s meg\u00faj\u00edt\u00e1s\u00e1t erre az URL-re ir\u00e1ny\u00edtjuk.<\/p>\n<p><\/p>\n<p><strong>Resource Url<\/strong> \u2014 a v\u00e9dett er\u0151forr\u00e1s URL-je, amelyhez hozz\u00e1f\u00e9r\u00e9st kell k\u00e9rni, mik\u00f6zben a hozz\u00e1f\u00e9r\u00e9si kulcsot az enged\u00e9lyez\u00e9si fejl\u00e9cben tov\u00e1bb\u00edtjuk.<\/p>\n<p><\/p>\n<h4 id=\"_zapros-klyucha-dostupa_\"><em>Hozz\u00e1f\u00e9r\u00e9si kulcs k\u00e9r\u00e9se<\/em><\/h4>\n<p><\/p>\n<p>A hozz\u00e1f\u00e9r\u00e9si kulcs k\u00e9r\u00e9s\u00e9hez a kliens <code>POST http:\/\/10.132.1.202:8181\/restconf\/config\/network-topology:network-topology\/topology\/topology-netconf\/node\/jun01\/yang-ext:mount\/junos-conf-root:configuration\/junos-conf-protocols:protocols<\/code> k\u00e9r\u00e9st int\u00e9z a v\u00e9gponthoz <code>IdentityServer4<\/code> a k\u00f6vetkez\u0151 fejl\u00e9c haszn\u00e1lat\u00e1val<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">'Content-Type': 'application\/x-www-form-urlencoded',\n'Accept': 'application\/json',\n'Expect': '100-continue'<\/code><\/pre>\n<p><\/p>\n<p>\u00e9s a k\u00f6vetkez\u0151 param\u00e9terek megad\u00e1s\u00e1val:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">'grant_type': 'password',\n'username': login,\n'password': password,\n'scope': 'scope',\n'client_id': 'client_id',\n'client_secret': '{client_secret}'<\/code><\/pre>\n<p><\/p>\n<p><code>username<\/code>, <code>password<\/code>, <code>client_id<\/code> \u00e9s <code>client_secret<\/code> a fentiekben kifejtettek. Vizsg\u00e1ljunk meg tov\u00e1bbi param\u00e9tereket:<\/p>\n<p><\/p>\n<p><strong>grant_type<\/strong> \u2014 a grant type or authorization grant type. The authorization grant type depends on the method of authorization request used by the application, as well as the types of grants supported by the API. In our case, it will be equal to <code>password<\/code>, which according to the specification <code>OAuth 2.0<\/code> corresponds to the resource owner's access credentials grant (authorization by login and password).<\/p>\n<p><\/p>\n<p>Protokoll <code>OAuth 2.0<\/code> defines the following types of grants that require <strong>mandatory interaction with users<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>authorization code<\/strong>. It is one of the most common types of authorization grants, as it is well-suited for server-side applications, where the application's source code and client secret are not accessible to outsiders;<\/li>\n<li><strong>implicit<\/strong>. The implicit authorization grant type is used by mobile and web applications, where the confidentiality of the client secret cannot be guaranteed;<\/li>\n<\/ul>\n<p><\/p>\n<p>And the grant types that <strong>can be performed without interactive user interaction<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>resource owner credentials.<\/strong>. This type of authorization should only be used when the client application is trusted by the user, and the user is comfortable entering their login and password. This type of authorization should only be used when other options are not available. This type of authorization is convenient for corporate clients who have already used user credentials within their system and want to switch to <code>OAuth 2.0<\/code>.<\/li>\n<li><strong>client credentials<\/strong>. These are used when the application accesses the API. This can be useful, for example, when the application wants to update its registration information on the service or redirect URI, or access other information stored in the application account on the service through the service API.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>scope<\/strong> \u2014 ez nem k\u00f6telez\u0151 param\u00e9ter. Meghat\u00e1rozza a l\u00e1that\u00f3s\u00e1g terjedelm\u00e9t. Az a hozz\u00e1f\u00e9r\u00e9si token, amelyet a szerver visszaad, csak azokhoz a szolg\u00e1ltat\u00e1sokhoz biztos\u00edt hozz\u00e1f\u00e9r\u00e9st, amelyek ebbe a terjedelembe tartoznak. Azaz t\u00f6bb szolg\u00e1ltat\u00e1st egyetlen terjedelem al\u00e1 vonhatunk, \u00e9s ha a felhaszn\u00e1l\u00f3 hozz\u00e1f\u00e9r\u00e9si kulcsot kap ehhez a terjedelemhez, akkor hozz\u00e1f\u00e9r\u00e9st kap mindezekhez a szolg\u00e1ltat\u00e1sokhoz. A terjedelem korl\u00e1tozhatja az enged\u00e9lyez\u00e9si jogokat is (p\u00e9ld\u00e1ul olvas\u00e1si vagy \u00edr\u00e1si hozz\u00e1f\u00e9r\u00e9s).<\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/489354\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u0438\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u044f \u0445\u043e\u0447\u0443 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0443\u044e IdentityServer4. \u041d\u0430\u0447\u043d\u0435\u043c \u043c\u044b \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u043e\u043d\u044f\u0442\u0438\u0439. \u0421\u0430\u043c\u044b\u043c \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f OpenID Connect, \u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 (\u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f OAuth 2.0. IdentityServer4 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u044d\u0442\u0438 \u0434\u0432\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. \u041e\u043d \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. OpenID Connect \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u043e\u043d \u043d\u0435 \u0434\u0430\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":71308,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-71307","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u0438\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u044f \u0445\u043e\u0447\u0443 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0443\u044e IdentityServer4.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47IdentityServer4. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f. OpenID Connect, OAuth 2.0 \u0438 JWT | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u0438\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u044f \u0445\u043e\u0447\u0443 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0443\u044e IdentityServer4.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-24T19:18:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:14:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47IdentityServer4. Alapfogalmak. OpenID Connect, OAuth 2.0 \u00e9s JWT | ProHoster","description":"Ezzel a bejegyz\u00e9ssel szeretn\u00e9k megnyitni egy cikkfolyamot, amely az IdentityServer4-r\u0151l sz\u00f3l.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47IdentityServer4. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f. OpenID Connect, OAuth 2.0 \u0438 JWT | ProHoster","og:description":"\u042d\u0442\u0438\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u044f \u0445\u043e\u0447\u0443 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0443\u044e IdentityServer4.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-24T19:18:55+00:00","article:modified_time":"2020-03-03T13:14:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"71307","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:04:25","updated":"2022-09-27 22:46:39","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/71307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=71307"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/71307\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/71308"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=71307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=71307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=71307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}