{"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 zu IdentityServer4 er\u00f6ffnen. Wir beginnen mit den wichtigsten Begriffen.<\/p>\n<p><\/p>\n<p>Das vielversprechendste Authentifizierungsprotokoll in der heutigen Zeit ist <noindex><a rel=\"nofollow\" href=\"https:\/\/openid.net\/connect\/\">OpenID Connect<\/a><\/noindex>, w\u00e4hrend das Autorisierungsprotokoll (Zugangsgew\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, um <strong>typische Probleme zu l\u00f6sen.<\/strong> der Sicherheit.<\/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 es ist ein Protokoll und ein Standard f\u00fcr die Authentifizierung, es gew\u00e4hrt keinen Zugriff auf Ressourcen (Web-API), aber da es \u00fcber dem Autorisierungsprotokoll entwickelt wurde, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/OAuth#OAuth_2.0\">OAuth 2.0<\/a><\/noindex>erm\u00f6glicht es, die Benutzerdatenparameter zu erhalten, als ob Sie Zugriff auf die Ressource erhalten h\u00e4tten. <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) ist ein Webstandard, der definiert, wie Benutzerdaten im JSON-Format verschl\u00fcsselt \u00fcbertragen werden.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc6749\">OAuth 2.0 (RFC 6749)<\/a><\/noindex> \u2014 ist ein Protokoll und ein Standard f\u00fcr die Autorisierung. Es erm\u00f6glicht Anwendungen, auf gesch\u00fctzte Ressourcen zuzugreifen, z. B. auf Web-APIs.<\/p><\/blockquote>\n<p>Lassen Sie uns das Diagramm zum Zugriff auf eine gesch\u00fctzte Ressource betrachten und die wichtigsten Schritte sowie die verwendete Terminologie erl\u00e4utern:<\/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 Client fragt den Benutzer um Erlaubnis, sich in seinem Namen zu authentifizieren. <strong>den Kunden zur\u00fcckzuf\u00fchren sind, nicht verf\u00fcgbar ist.<\/strong> \u2014 ist die Clientanwendung, die im Namen des Ressourceninhabers auf gesch\u00fctzte Ressourcen zugreift. <strong>Ressource<\/strong> \u2014 das 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 Clientanwendung, sich in seinem Namen zu authentifizieren, indem er z. B. seinen Benutzernamen und sein Passwort eingibt. Benutzername und Passwort dienen als Autorisierungsgrant f\u00fcr die Clientanwendung. <strong>Benutzer (Ressourceninhaber)<\/strong> \u2014 ist ein Programm oder eine Person, die Zugriff auf gesch\u00fctzte Ressourcen gew\u00e4hren kann, z. B. durch Eingabe von Benutzernamen (username) und Passwort (password);<\/p>\n<p>\n<\/li>\n<li>\n<p>Die Clientanwendung fordert ein Zugriffstoken von <code>IdentityServer4<\/code> an, indem sie Informationen \u00fcber sich selbst bereitstellt (<code>client_id<\/code>, <code>client_secret<\/code>), um die Erlaubnis zur Autorisierung vom Benutzer zu erlangen (<code>username<\/code>, <code>passwort<\/code>) und gibt <code>grant_type<\/code> und <code>scope<\/code>. Dann \u00fcberpr\u00fcft der Autorisierungsserver die Authentizit\u00e4t des Clients und die Anmeldedaten des Ressourceninhabers (Benutzername und Passwort). <\/p>\n<p><\/p>\n<blockquote><p>Das OAuth 2.0-Protokoll f\u00fchrt nicht nur die Authentifizierung des Benutzers durch, sondern auch der Clientanwendung, die auf die Ressourcen zugreift. Zu diesem Zweck sieht das Protokoll Parameter wie vor. <strong>client_id<\/strong> und <strong>client_secret<\/strong>.<br \/>\n<strong>client_id<\/strong> \u2014 dies ist die Kennung der Clientanwendung, die verwendet wird, <code>IdentityServer4<\/code> um Informationen \u00fcber den Client zu finden.<br \/>\n<strong>client_secret<\/strong> ist das \u00c4quivalent eines Passworts f\u00fcr die Clientanwendung und wird zur Authentifizierung der Clientanwendung genutzt. <code>IdentityServer4<\/code>. <strong>Das Geheimnis des Kunden sollte nur der Anwendung und der API bekannt sein.<\/strong>Aus dem Vorangegangenen schlie\u00dfen wir, dass <strong>IdentityServer4 \u00fcber seine Clients Bescheid wissen muss.<\/strong>.<\/p><\/blockquote>\n<p>\n<\/li>\n<li>\n<p>Wenn die Authentizit\u00e4t der Anwendung best\u00e4tigt ist und die Berechtigung zur Autorisierung g\u00fcltig ist, <code>IdentiryServer4<\/code> erstellt <code>ein Access-Token<\/code> (Zugriffstoken) f\u00fcr die Anwendung und einen optionalen 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 einer entsprechenden Fehlermeldung zur\u00fcck.<\/p>\n<p>\n<\/li>\n<li>\n<p>Die Client-Anwendung fordert Daten vom gesch\u00fctzten Web-API an, wobei sie das Zugriffstoken zur Autorisierung bereitstellt. Wenn der Antwortcode des Ressourcenservers <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, ist das zur Authentifizierung verwendete Zugriffstoken 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>Registrierte Clients d\u00fcrfen bei <code>IdentityServer4<\/code> identity <code>IdentityServer4<\/code> <code>-Token,<\/code>Access <code>-Token und<\/code>Refresh <code>-Token anfordern.<\/code>Identity-Token (Identifikationstoken)<\/p>\n<p><\/p>\n<ul>\n<li><strong>\u2014 das Ergebnis des Authentifizierungsprozesses. Es enth\u00e4lt die Benutzer-ID und Informationen dar\u00fcber, wie und wann der Benutzer authentifiziert wird. Kann um eigene Daten erweitert werden.<\/strong> Access-Token (Zugriffstoken)<\/li>\n<li><strong>\u2014 wird an die gesch\u00fctzte API \u00fcbergeben und von dieser zur Autorisierung (Zugriffsberechtigung) auf ihre Daten verwendet.<\/strong> Refresh-Token (Aktualisierungstoken)<\/li>\n<li><strong>\u2014 ein optionaler Parameter, den der Autorisierungsserver als Antwort auf die Anfrage nach einem Zugriffstoken zur\u00fcckgeben kann.<\/strong> F\u00fchren wir noch zwei Begriffe ein:<\/li>\n<\/ul>\n<p><\/p>\n<p>Authentification Server URL<\/p>\n<p><\/p>\n<p><strong>\u2014 der Endpunkt zur Beschaffung des Zugriffstokens. Alle Anfragen zur Bereitstellung und Erneuerung von Zugriffstokens richten wir an diese URL.<\/strong> Resource URL<\/p>\n<p><\/p>\n<p><strong>\u2014 die URL des gesch\u00fctzten Ressourcen, auf die zugegriffen werden muss, indem das Zugriffstoken im Autorisierungsheader \u00fcbergeben wird.<\/strong> Anfrage nach dem Zugriffstoken<\/p>\n<p><\/p>\n<h4 id=\"_zapros-klyucha-dostupa_\"><em>Um den Zugriffstoken zu beantragen, macht der Client<\/em><\/h4>\n<p><\/p>\n<p>eine Anfrage an den Endpunkt <code>POST<\/code> mit folgendem Header <code>IdentityServer4<\/code> 'Content-Type': 'application\/x-www-form-urlencoded',\n'Accept': 'application\/json',\n'Expect': '100-continue'<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">und \u00fcbergibt die folgenden Parameter:<\/code><\/pre>\n<p><\/p>\n<p>'grant_type' : 'password',\n'username' : login,\n'password' : password,\n'scope' : 'scope',\n'client_id' : 'client_id',\n'client_secret' : '{client_secret}'<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">wurden oben behandelt. Lassen Sie uns die verbleibenden Parameter durchgehen:<\/code><\/pre>\n<p><\/p>\n<p><code>username<\/code>, <code>passwort<\/code>, <code>client_id<\/code> und <code>client_secret<\/code> wurden oben erl\u00e4utert. Lassen Sie uns die anderen Parameter betrachten:<\/p>\n<p><\/p>\n<p><strong>grant_type<\/strong> \u2014 Art des Grants oder des Autorisierungsberechtigungen. Die Art der Autorisierungsberechtigung h\u00e4ngt von der verwendeten Methode zur Anforderung der Autorisierung durch die Anwendung ab, ebenso davon, welche Berechtigungen von der API unterst\u00fctzt werden. In unserem Fall wird es bedeuten <code>passwort<\/code>, was gem\u00e4\u00df der Spezifikation <code>OAuth 2.0<\/code> der Berechtigung des Ressourceninhabers (Autorisation durch Login und Passwort) entspricht.<\/p>\n<p><\/p>\n<p>Protokoll <code>OAuth 2.0<\/code> bestimmt die folgenden Grant-Typen, die <strong>eine zwingende Interaktion mit den Benutzern erfordern<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Autorisierungscode (authorization code)<\/strong>. Dies ist einer der am h\u00e4ufigsten verwendeten Typen von Autorisierungsberechtigungen, da er gut f\u00fcr serverseitige Anwendungen geeignet ist, bei denen der Quellcode der Anwendung und das Client-Geheimnis f\u00fcr Dritte nicht zug\u00e4nglich sind.<\/li>\n<li><strong>implizit (implicit)<\/strong>. Der implizite Typ der Autorisierungsberechtigung wird von mobilen und Webanwendungen verwendet, bei denen 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 den Benutzern ausgef\u00fchrt werden k\u00f6nnen,<\/strong>:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Ressourceninhaberdaten (resource owner)<\/strong>. Dieser Typ der Autorisierung sollte nur verwendet werden, wenn die Client-Anwendung das Vertrauen des Benutzers genie\u00dft und der Benutzer mit der Eingabe seines Logins und Passworts einverstanden ist. Dieser Typ der Autorisierung sollte nur verwendet werden, wenn andere Optionen nicht verf\u00fcgbar sind. Dieser Autorisierungstyp ist f\u00fcr Unternehmenskunden n\u00fctzlich, die bereits in ihrem System die Benutzerdaten verwendet haben und zu <code>OAuth 2.0<\/code>.<\/li>\n<li><strong>Kundendaten<\/strong>. Verwendet, wenn eine Anwendung auf die API zugreift. Dies kann n\u00fctzlich sein, beispielsweise wenn die Anwendung ihre eigenen Registrierungsinformationen auf dem Dienst oder der URI f\u00fcr die Weiterleitung aktualisieren oder auf andere Informationen zugreifen m\u00f6chte, die im Konto der Anwendung auf dem Dienst \u00fcber die API des Dienstes gespeichert sind.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>scope<\/strong> Dies ist ein optionaler Parameter. Er definiert den G\u00fcltigkeitsbereich. Das vom Server zur\u00fcckgegebene Zugriffstoken gew\u00e4hrt Zugriff nur auf die Dienste, die in diesen G\u00fcltigkeitsbereich fallen. Das hei\u00dft, wir k\u00f6nnen mehrere Dienste unter einem einzigen G\u00fcltigkeitsbereich zusammenfassen, und wenn der Client einen Zugriffsschl\u00fcssel f\u00fcr diesen G\u00fcltigkeitsbereich erh\u00e4lt, hat er Zugriff auf all diese Dienste. Der G\u00fcltigkeitsbereich kann auch verwendet werden, um die Berechtigungen einzuschr\u00e4nken (zum Beispiel 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 5.0.1.1 - 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\/de\/blog\/administrirovanie\/identityserver4-osnovnye-ponyatiya-openid-connect-oauth-2-0-i-jwt\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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.\" \/>\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 Artikelreihe \u00fcber IdentityServer4 starten.","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}