{"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\/de\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","title":{"rendered":"IdentityServer4. Grundbegriffe. OpenID Connect, OAuth 2.0 und JWT","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Mit diesem Beitrag m\u00f6chte ich eine Reihe von Artikeln \u00fcber IdentityServer4 einleiten. Lassen Sie uns mit den grundlegenden Begriffen beginnen.<\/p>\n<p><\/p>\n<p>Der vielversprechendste Authentifizierungsprotokoll ist derzeit <noindex><a rel=\"nofollow\" href=\"https:\/\/openid.net\/connect\/\">OpenID Connect<\/a><\/noindex>, w\u00e4hrend das Protokoll f\u00fcr die Autorisierung (Zugriffsgew\u00e4hrung) ist <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> implementiert diese beiden Protokolle. Es ist optimiert zur L\u00f6sung von <strong>typischen Sicherheitsproblemen.<\/strong> \u2014 ist ein Protokoll und Standard f\u00fcr die Authentifizierung, es gew\u00e4hrt keinen Zugriff auf Ressourcen (Web-API), aber da es auf dem Autorisierungsprotokoll basiert<\/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> , erm\u00f6glicht es die Abrufung der Benutzerprofilparameter, als ob Sie Zugang zu der Ressource erhalten h\u00e4tten. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/OAuth#OAuth_2.0\">OAuth 2.0<\/a><\/noindex>UserInfo <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.identityserver.io\/en\/latest\/endpoints\/userinfo.html\">JWT<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/JSON_Web_Token\">(JSON Web Token) ist ein Webstandard, der definiert, wie Benutzerdaten in verschl\u00fcsselter Form im JSON-Format \u00fcbermittelt werden.<\/a><\/noindex> OAuth 2.0 (RFC 6749)<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc6749\">\u2014 ist das Protokoll und der Standard f\u00fcr die Autorisierung. Es erm\u00f6glicht Anwendungen den Zugriff auf gesch\u00fctzte Ressourcen, zum Beispiel auf Web-APIs.<\/a><\/noindex> Werfen wir einen Blick auf das Diagramm zum Zugriff auf eine gesch\u00fctzte Ressource und kl\u00e4ren wir die wichtigsten Schritte und die verwendete Terminologie:<\/p><\/blockquote>\n<p>Der Client fragt den Benutzer um Erlaubnis, sich in seinem Namen zu authentifizieren.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"IdentityServer4. Grundbegriffe. OpenID Connect, OAuth 2.0 und 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>Der Kunde bittet den Benutzer um Erlaubnis, sich in seinem Namen zu authentifizieren. <strong>Kunde<\/strong> ist eine Client-Anwendung, die im Namen des Ressourcenbesitzers auf gesch\u00fctzte Ressourcen zugreift. <strong>Ressource<\/strong> sind all unsere gesch\u00fctzten Dienste. <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>Der Benutzer erlaubt der Client-Anwendung, sich in seinem Namen zu authentifizieren, beispielsweise durch Eingabe von Benutzername und Passwort. Benutzername und Passwort dienen als Authentifizierungsnachweis f\u00fcr die Client-Anwendung. <strong>Benutzer (Ressourcenbesitzer)<\/strong> ist ein Programm oder eine Person, die Zugang zu gesch\u00fctzten Ressourcen gew\u00e4hren kann, zum Beispiel durch Eingabe von Benutzername und Passwort;<\/p>\n<p>\n<\/li>\n<li>\n<p>Die Client-Anwendung fordert ein Zugriffstoken bei <code>IdentityServer4<\/code> an, indem sie Informationen \u00fcber sich selbst bereitstellt (<code>client_id<\/code>, <code>client_secret<\/code>), die Erlaubnis zur Authentifizierung durch den Benutzer erteilt (<code>Benutzername<\/code>, <code>password<\/code>) und angibt, <code>grant_type<\/code> und <code>scope<\/code>. Anschlie\u00dfend \u00fcberpr\u00fcft der Autorisierungsserver die Authentizit\u00e4t des Clients und die Anmeldedaten des Ressourcenbesitzers (Benutzername und Passwort). <\/p>\n<p><\/p>\n<blockquote><p>Das OAuth 2.0-Protokoll erm\u00f6glicht die Authentifizierung nicht nur des Benutzers, sondern auch der Client-Anwendung, die auf die Ressourcen zugreift. Dazu sieht das Protokoll solche Parameter wie vor: <strong>client_id<\/strong> und <strong>client_secret<\/strong>.<br \/>\n<strong>client_id<\/strong> ist die Kennung der Client-Anwendung, die verwendet wird, <code>IdentityServer4<\/code> um Informationen \u00fcber den Client zu suchen.<br \/>\n<strong>client_secret<\/strong> ist das \u00c4quivalent eines Passworts f\u00fcr die Clientanwendung und wird zur Authentifizierung der Clientanwendung bei <code>IdentityServer4<\/code>. <strong>Der Client-Geheimschl\u00fcssel sollte nur der Anwendung und der API bekannt sein.<\/strong>. Daraus ergibt sich, dass <strong>IdentityServer4 \u00fcber seine Clients informiert sein muss.<\/strong>.<\/p><\/blockquote>\n<p>\n<\/li>\n<li>\n<p>Wenn die Authentizit\u00e4t der Anwendung best\u00e4tigt und die Berechtigung zur Autorisierung g\u00fcltig ist, <code>IdentiryServer4<\/code> erstellt <code>ein Access-Token<\/code> (Zugangs-token) f\u00fcr die Anwendung und optional einen Refresh-Token (<code>Refresh-Token<\/code>). Der Autorisierungsprozess ist abgeschlossen. Wenn die Anfrage ung\u00fcltig oder nicht autorisiert ist, gibt der Autorisierungsserver einen Code mit der entsprechenden Fehlermeldung zur\u00fcck.<\/p>\n<p>\n<\/li>\n<li>\n<p>Die Clientanwendung ruft Daten vom gesch\u00fctzten Web-API ab und stellt dabei das Zugangstoken zur Autorisierung bereit. Wenn der Server eine Ressource mit dem Antwortcode <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> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_HTTP_status_codes\">498<\/a><\/noindex>, ist das f\u00fcr die Authentifizierung verwendete Zugangstoken ung\u00fcltig oder abgelaufen.<\/p>\n<p>\n<\/li>\n<li>\n<p>Wenn das Token g\u00fcltig ist, <code>Web API<\/code> stellt es der Anwendung die Daten zur Verf\u00fcgung.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<h4 id=\"_tipy-tokenov_\"><em>Token-Typen<\/em><\/h4>\n<p><\/p>\n<p>Registrierten in <code>IdentityServer4<\/code> d\u00fcrfen Clients bei <code>IdentityServer4<\/code> <code>identity<\/code>-Token, <code>Access<\/code>-Token und <code>aktualisieren<\/code>-Token anfordern.<\/p>\n<p><\/p>\n<ul>\n<li><strong>Identity-Token (Identifikations-Token)<\/strong> \u2014 Ergebnis des Authentifizierungsprozesses. Enth\u00e4lt die Benutzer-ID und Informationen dar\u00fcber, wie und wann der Benutzer authentifiziert wird. Kann mit eigenen Daten erweitert werden.<\/li>\n<li><strong>Zugriffstoken (access token)<\/strong> \u2014 wird an die gesch\u00fctzte API \u00fcbermittelt und von dieser verwendet, um den Zugriff auf ihre Daten zu autorisieren.<\/li>\n<li><strong>Aktualisierungstoken (refresh token)<\/strong> \u2014 optionaler Parameter, den der Autorisierungsserver als Antwort auf eine Anfrage nach einem Zugriffstoken zur\u00fcckgeben kann.<\/li>\n<\/ul>\n<p><\/p>\n<p>Lassen Sie uns zwei weitere Begriffe einf\u00fchren:<\/p>\n<p><\/p>\n<p><strong>Authentifizierungsserver-URL<\/strong> \u2014 Endpunkt zum Abrufen des Zugriffstokens. Alle Anfragen zur Bereitstellung und Erneuerung des Zugriffstokens werden an diese URL gesendet.<\/p>\n<p><\/p>\n<p><strong>Ressourcen-URL<\/strong> \u2014 die URL des gesch\u00fctzten Ressourcen, auf die zugegriffen werden muss, indem das Zugriffstoken im Autorisierungs-Header \u00fcbergeben wird.<\/p>\n<p><\/p>\n<h4 id=\"_zapros-klyucha-dostupa_\"><em>Anfrage des Zugriffstokens<\/em><\/h4>\n<p><\/p>\n<p>Um das Zugriffstoken anzufordern, stellt der Client <code>POST<\/code> eine Anfrage an den Endpunkt <code>IdentityServer4<\/code> mit folgendem Header<\/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>und \u00fcbermittelt die folgenden Parameter:<\/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>Benutzername<\/code>, <code>password<\/code>, <code>client_id<\/code> und <code>client_secret<\/code> wurden oben behandelt. Lassen Sie uns die anderen Parameter betrachten:<\/p>\n<p><\/p>\n<p><strong>grant_type<\/strong> \u2014 Grant-Typ oder Autorisierungsgrant-Typ. Der Autorisierungsgrant-Typ h\u00e4ngt von der im Anwendung verwendeten Methode zur Anforderung der Autorisierung ab sowie davon, welche Grant-Typen vom API unterst\u00fctzt werden. In unserem Fall wird er den Wert haben <code>password<\/code>, was gem\u00e4\u00df der Spezifikation <code>OAuth 2.0<\/code> dem Grant von Zugangsdaten des Ressourceninhabers entspricht (Autorisierung \u00fcber Benutzername und Passwort).<\/p>\n<p><\/p>\n<p>Protokoll <code>OAuth 2.0<\/code> bestimmt die folgenden Grant-Typen, die erfordern <strong>ein zwingendes Interagieren mit Benutzern<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Authorization Code<\/strong>. Dies ist einer der am weitesten verbreiteten Typen von Autorisierungsgrants, da er sich gut f\u00fcr serverseitige Anwendungen eignet, bei denen der Quellcode der Anwendung und das Client-Geheimnis Dritten nicht zug\u00e4nglich sind;<\/li>\n<li><strong>implizit<\/strong>. Der implizite Autorisierungsgrant wird in mobilen und Webanwendungen verwendet, wo die Vertraulichkeit des Client-Geheimnisses nicht garantiert werden kann;<\/li>\n<\/ul>\n<p><\/p>\n<p>Und die Grant-Typen, die <strong>ohne interaktive Interaktion mit Benutzern ausgef\u00fchrt werden k\u00f6nnen<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Zugangsdaten des Ressourceninhabers<\/strong>. Diese Art der Authentifizierung sollte nur verwendet werden, wenn die Client-Anwendung das Vertrauen des Benutzers genie\u00dft und der Benutzer bereit ist, seine Anmeldedaten einzugeben. Diese Art der Authentifizierung sollte nur genutzt werden, wenn keine anderen Optionen verf\u00fcgbar sind. Sie ist besonders n\u00fctzlich f\u00fcr Unternehmenskunden, die in ihrem System bereits Benutzerdaten verwendet haben und zu <code>OAuth 2.0<\/code>.<\/li>\n<li><strong>Benutzerdaten<\/strong>. Diese werden ben\u00f6tigt, wenn die Anwendung auf die API zugreift. Dies kann n\u00fctzlich sein, wenn beispielsweise die Anwendung ihre eigenen Registrierungsinformationen beim Dienst aktualisieren oder eine Umleitungs-URI festlegen m\u00f6chte, oder um auf andere Informationen zuzugreifen, die im Benutzerkonto der Anwendung beim Dienst \u00fcber die API gespeichert sind.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>scope<\/strong> \u2014 ist ein optionales Parameter. Es definiert den Geltungsbereich. Das Zugriffstoken, das vom Server zur\u00fcckgegeben wird, gew\u00e4hrt Zugriff nur auf die Dienste, die in diesen Geltungsbereich fallen. Das hei\u00dft, wir k\u00f6nnen mehrere Dienste unter einem einzigen Geltungsbereich zusammenfassen und wenn der Kunde einen Zugangsschl\u00fcssel zu diesem Geltungsbereich erh\u00e4lt, hat er Zugang zu allen diesen Diensten. Der Geltungsbereich kann auch verwendet werden, um die Berechtigungen zu beschr\u00e4nken (z. B. Lese- oder Schreibzugriff).<\/p>\n<p>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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. Grundlegende Konzepte. OpenID Connect, OAuth 2.0 und JWT | ProHoster","description":"Mit diesem Beitrag m\u00f6chte ich eine Reihe von Artikeln er\u00f6ffnen, die sich mit IdentityServer4 befassen. Wir beginnen mit den grundlegenden Konzepten. Derzeitig ist das vielversprechendste Authentifizierungsprotokoll OpenID Connect, w\u00e4hrend das Autorisierungsprotokoll (Zugriffsgew\u00e4hrung) OAuth 2.0 ist. IdentityServer4 implementiert diese beiden Protokolle. Es ist optimiert, um typische Sicherheitsprobleme zu l\u00f6sen. OpenID Connect ist ein Protokoll und ein Authentifizierungsstandard, es bietet jedoch keinen...","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/71307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=71307"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/71307\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/71308"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=71307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=71307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=71307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}