{"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\/et\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","title":{"rendered":"IdentityServer4. P\u00f5him\u00f5isted. OpenID Connect, OAuth 2.0 ja JWT","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Selle postitusega soovin alustada artiklite seeriat, mis on p\u00fchendatud IdentityServer4-le. Alustame p\u00f5him\u00f5istetest.<\/p>\n<p><\/p>\n<p>Praegu on k\u00f5ige lootustandvam autentimise protokoll <noindex><a rel=\"nofollow\" href=\"https:\/\/openid.net\/connect\/\">OpenID Connect<\/a><\/noindex>, samas kui volituste (juurdep\u00e4\u00e4su) protokoll on <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> rakendab neid kahte protokolli. See on optimeeritud lahendama <strong>t\u00fc\u00fcpilisi probleeme<\/strong> turvalisuse.<\/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 see on autentimise protokoll ja standard, mis ei anna juurdep\u00e4\u00e4su ressurssidele (Web API), kuid kuna see on v\u00e4lja t\u00f6\u00f6tatud volituste protokolli peale, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/OAuth#OAuth_2.0\">OAuth 2.0<\/a><\/noindex>kuid see v\u00f5imaldab saada kasutaja profiiliv\u00e4\u00e4rtusi just nagu oleksite saanud juurdep\u00e4\u00e4su ressurssidele <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> (JSON Web Token) on veebistandard, mis m\u00e4\u00e4ratleb viisi, kuidas edastada kasutajaandmeid JSON-formaadis kr\u00fcpteeritud kujul.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc6749\">OAuth 2.0 (RFC 6749)<\/a><\/noindex> \u2014 see on volituste protokoll ja standard. See v\u00f5imaldab rakendustel p\u00e4\u00e4seda ligi kaitstud ressurssidele, n\u00e4iteks Web API-le.<\/p><\/blockquote>\n<p>Vaadakem diagrammi kaitstud ressursi juurde p\u00e4\u00e4semisest ja uurime p\u00f5hietappe ja kasutatavat terminoloogiat:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"IdentityServer4. P\u00f5him\u00f5isted. OpenID Connect, OAuth 2.0 ja 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>Kliendi n\u00f5uab kasutajalt luba autoriseerimiseks tema nimel. <strong>Klient<\/strong> \u2014 on kliendi rakendus, mis p\u00f6\u00f6rdub turvalistele ressurssidele nende omaniku nimel. <strong>Ressurss<\/strong> \u2014 need on k\u00f5ik meie kaitstud teenused <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>Kasutaja lubab kliendi rakendusel autoriseerida end tema nimel, n\u00e4iteks sisestades kasutajanime ja parooli. Need, kasutajanimi ja parool, toimivad kliendi rakenduse autoriseerimise volitusena. <strong>Kasutaja (ressursi omanik)<\/strong> \u2014 programm v\u00f5i inimene, kes saab anda juurdep\u00e4\u00e4su kaitstud ressurssidele, n\u00e4iteks kasutajanime (username) ja parooli (password) sisestamise kaudu;<\/p>\n<p>\n<\/li>\n<li>\n<p>Kliendi rakendus k\u00fcsib juurdep\u00e4\u00e4sut\u00fckki <code>IdentityServer4<\/code> enne, kui esitavad teavet enda kohta (<code>client_id<\/code>, <code>client_secret<\/code>), andes kasutaja autoriseerimiseks loa (<code>username<\/code>, <code>password<\/code>) ning esitades <code>grant_type<\/code> ja <code>scope<\/code>. Seej\u00e4rel kontrollib autoriseerimiserver kliendi ja ressursi omaniku (kasutajanime ja parooli) autentimise. <\/p>\n<p><\/p>\n<blockquote><p>OAuth 2.0 protokoll autentib mitte ainult kasutajat, vaid ka kliendi rakendust, mis p\u00e4\u00e4seb ressurssidele juurde. Selleks sisaldab protokoll selliseid parameetreid nagu <strong>client_id<\/strong> ja <strong>client_secret<\/strong>.<br \/>\n<strong>client_id<\/strong> \u2014 see on kliendi rakenduse identifikaator, mida kasutatakse <code>IdentityServer4<\/code> kliendi teabe otsimiseks.<br \/>\n<strong>client_secret<\/strong> on simuleerib kliendi rakenduse parooli ja seda kasutatakse kliendi rakenduse autentimiseks <code>IdentityServer4<\/code>. <strong>Kliendi saladus peaks olema tuntud ainult rakendusele ja API-le<\/strong>. Seega j\u00e4reldame, et <strong>IdentityServer4 peab teadma oma kliente<\/strong>.<\/p><\/blockquote>\n<p>\n<\/li>\n<li>\n<p>Kui rakenduse autentsus on kinnitatud ja autoriseerimise luba on kehtiv, <code>IdentityServer4<\/code> loomise <code>access-tokeni<\/code> (juurdep\u00e4\u00e4sutoken) rakenduse jaoks ja valikulise v\u00e4rskenduse v\u00f5tme (<code>refresh-token<\/code>). Autoriseerimisprotsess on l\u00f5petatud. Kui p\u00e4ring on eba\u00f5iglane v\u00f5i volitamata, tagastab autoriseerimisteenuse server vastava veakoodi.<\/p>\n<p>\n<\/li>\n<li>\n<p>Kliendi rakendus v\u00f5tab kaitstud veeb API-lt andmeid, esitades samal ajal juurdep\u00e4\u00e4sutokeni autoriseerimiseks. Kui serveri ressursi vastuse kood <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> v\u00f5i <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_HTTP_status_codes\">498<\/a><\/noindex>, siis on autentimiseks kasutatav juurdep\u00e4\u00e4sutoken kehtetu v\u00f5i aegunud.<\/p>\n<p>\n<\/li>\n<li>\n<p>Kui token on kehtiv, <code>Web API<\/code> edastab andmed rakendusele.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<h4 id=\"_tipy-tokenov_\"><em>Tokeni t\u00fc\u00fcbid<\/em><\/h4>\n<p><\/p>\n<p>registreeritud <code>IdentityServer4<\/code> klientidele on lubatud k\u00fcsida <code>IdentityServer4<\/code> <code>identity<\/code>-token, <code>access<\/code>-token ja <code>refresh<\/code>-token.<\/p>\n<p><\/p>\n<ul>\n<li><strong>identity-token (tuvastustoken)<\/strong> \u2014 autentimise protsessi tulemus. Sisaldab kasutaja tuvastajat ja teavet selle kohta, kuidas ja millal kasutaja autentimist sooritab. Saate seda oma andmetega laiendada.<\/li>\n<li><strong>access-token (juurdep\u00e4\u00e4sutoken)<\/strong> \u2014 edastatakse kaitstud API-le ning seda kasutatakse autoriseerimiseks (juurdep\u00e4\u00e4su lubamiseks) oma andmetele.<\/li>\n<li><strong>refresh-token (uuendustoken)<\/strong> \u2014 valikuline parameeter, mille autoriseerimiserver v\u00f5ib tagasi saata juurdep\u00e4\u00e4sutokeni p\u00e4ringu vastusena.<\/li>\n<\/ul>\n<p><\/p>\n<p>Lisame veel kaks m\u00f5istet:<\/p>\n<p><\/p>\n<p><strong>Authenticattion Server Url<\/strong> \u2014 l\u00f5pp-punkt juurdep\u00e4\u00e4suv\u00f5tme saamiseks. K\u00f5ik p\u00e4ringud juurdep\u00e4\u00e4suv\u00f5tmete andmiseks ja taask\u00e4ivitamiseks suunatakse sellele URL-ile.<\/p>\n<p><\/p>\n<p><strong>Resource Url<\/strong> \u2014 kaitstud ressursi URL, millele tuleb p\u00f6\u00f6rduda, et sellele juurde p\u00e4\u00e4seda, edastades sellele juurdep\u00e4\u00e4suv\u00f5tme autoriseerimise p\u00e4ises.<\/p>\n<p><\/p>\n<h4 id=\"_zapros-klyucha-dostupa_\"><em>Juurdep\u00e4\u00e4suv\u00f5tme p\u00e4rimine<\/em><\/h4>\n<p><\/p>\n<p>Juurdep\u00e4\u00e4suv\u00f5tme p\u00e4rimiseks teeb klient <code>POST<\/code> p\u00e4ringu l\u00f5pp-punktile <code>IdentityServer4<\/code> j\u00e4rgmise p\u00e4isega<\/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>ja edastades j\u00e4rgmised parameetrid:<\/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> ja <code>client_secret<\/code> olidud on juba anal\u00fc\u00fcsitud. Vaatame \u00fcle \u00fclej\u00e4\u00e4nud parameetrid:<\/p>\n<p><\/p>\n<p><strong>grant_type<\/strong> \u2014 grant t\u00fc\u00fcpi v\u00f5i volituse t\u00fc\u00fcpi. Volituse t\u00fc\u00fcp s\u00f5ltub rakenduses kasutatavast volituste p\u00e4ringust ja milliseid volituse t\u00fc\u00fcpe API toetab. Meie juhul on see <code>password<\/code>, mis vastab spetsifikatsioonile <code>OAuth 2.0<\/code> t\u00f6\u00f6st, mis vastab ressurssi omaniku juurdep\u00e4\u00e4su volituskohtadele (autentimine kasutajanime ja parooli abil).<\/p>\n<p><\/p>\n<p>Protokoll <code>OAuth 2.0<\/code> m\u00e4\u00e4ratleb j\u00e4rgmised volitused, mis n\u00f5uavad <strong>kohustuslikku kasutajate interaktsiooni<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>autentimiskood (authorization code)<\/strong>. See on \u00fcks levinumaid volituse t\u00fc\u00fcpe, kuna see sobib h\u00e4sti serveripoolsetele rakendustele (server-side applications), kus rakenduse l\u00e4htekood ja kliendi saladus ei ole kolmandate isikute jaoks ligip\u00e4\u00e4setavad;<\/li>\n<li><strong>kaudne (implicit)<\/strong>. Kaudset autentimise volitust kasutatakse mobiil- ja veebirakendustes, kus kliendi saladuse konfidentsiaalsust ei saa tagada;<\/li>\n<\/ul>\n<p><\/p>\n<p>Ja volituse t\u00fc\u00fcbid, mis <strong>v\u00f5ivad toimida ilma kohustuslikku kasutajate interaktsioonita<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>ressursi omaniku andmed<\/strong>. Seda t\u00fc\u00fcpi volitusi tuleks kasutada ainult siis, kui kliendi rakendus naudib kasutaja usaldust ja kasutaja on rahul oma kasutajanime ja parooli sisestamisega. Seda t\u00fc\u00fcpi volitusi tuleks kasutada ainult siis, kui teised valikud pole saadaval. See t\u00fc\u00fcp volitusi on mugav ettev\u00f5tte klientidele, kes on oma s\u00fcsteemis juba kasutanud kasutaja volitusi ja soovivad \u00fcle minna <code>OAuth 2.0<\/code>.<\/li>\n<li><strong>kliendi volitustele<\/strong>. Neid kasutatakse rakenduse juurdep\u00e4\u00e4suks API-le. See v\u00f5ib olla kasulik n\u00e4iteks siis, kui rakendus soovib v\u00e4rskendada oma registreerimise teavet teenuses v\u00f5i suunamiste URI-d, v\u00f5i juurdep\u00e4\u00e4suks muudele andmetele, mis on rakenduse kontol teenuses, teenuse API kaudu.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>scope<\/strong> \u2014 see on valikuline parameeter. See m\u00e4\u00e4rab ulatuse. Serveri tagastatud juurdep\u00e4\u00e4su token v\u00f5imaldab juurdep\u00e4\u00e4su ainult neile teenustele, mis kuuluvad sellesse ulatusse. St. me saame mitu teenust kokku koondada \u00fche ulatuse alla ja kui klient saab juurdep\u00e4\u00e4su v\u00f5tme sellele ulatusele, saab ta juurdep\u00e4\u00e4su k\u00f5igile neile teenustele. Ulatust saab kasutada ka autoriseerimis\u00f5iguste piiramiseks (n\u00e4iteks lugemis- v\u00f5i kirjutamis\u00f5igused).<\/p>\n<p>Allikas: <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 4.9.10 - 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. \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\" \/>\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\/et\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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. \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/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. P\u00f5him\u00f5isted. OpenID Connect, OAuth 2.0 ja JWT | ProHoster","description":"Selle postitusega tahan alustada artiklite seeriat, mis on p\u00fchendatud IdentityServer4-le. Alustame p\u00f5him\u00f5istedest. Praegu k\u00f5ige perspektiivikam autentimisprotokoll on OpenID Connect, samas kui autoriseerimisprotokoll (juurdep\u00e4\u00e4su andmine) on OAuth 2.0. IdentityServer4 rakendab neid kahte protokolli. See on optimeeritud t\u00fc\u00fcpiliste turvaprobleemide lahendamiseks. OpenID Connect on autentimisprotokoll ja standard, mis ei anna.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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. \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","og:url":"https:\/\/prohoster.info\/et\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/71307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=71307"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/71307\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/71308"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=71307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=71307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=71307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}