{"id":18190,"date":"2019-07-18T20:36:05","date_gmt":"2019-07-18T18:36:05","guid":{"rendered":"https:\/\/notiz.blog\/?p=18190"},"modified":"2019-07-18T20:36:07","modified_gmt":"2019-07-18T18:36:07","slug":"id4me","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2019\/07\/18\/id4me\/","title":{"rendered":"ID4me"},"content":{"rendered":"\n<p>Ich hatte in den letzten Monaten die M\u00f6glichkeit, mich ein <a href=\"https:\/\/gitlab.com\/ID4me\/id4me-rp-client-php\">bisschen<\/a> <a href=\"https:\/\/gitlab.com\/ID4me\/id4me-plugin-wordpress\">intensiver<\/a> mit <a href=\"https:\/\/id4me.org\/\">ID4me<\/a> zu besch\u00e4ftigen. Nach anf\u00e4nglicher Skepsis finde ich die Idee mittlerweile extrem charmant.<\/p>\n\n\n\n<p>Im letzten Jahr haben sich einige deutsche Firmen zusammen geschlossen um mit <a href=\"https:\/\/netid.de\/\">netID<\/a> bzw. <a href=\"https:\/\/verimi.de\/\">VERIMI<\/a> zwei konkurrierende Single-Sign-On Dienste zu entwickeln. Beide Systeme basieren zwar auf dem offenen Standard <strong>OpenID Connect<\/strong>, scheinen aber mindestens genauso restriktiv zu sein. netID wird nur von einer <a href=\"https:\/\/netid.de\/#netid-anbieter\">begrenzten Anzahl von Diensten<\/a> angeboten und VERIMI setzt einen <a href=\"https:\/\/web.verimi.de\/registration.html\">zentralen Account bei verimi.de<\/a> voraus.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"76\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2019\/03\/400x75-white.png\" alt=\"\" class=\"wp-image-18191\"\/><\/figure><\/div>\n\n\n\n<p>ID4me basiert zwar auch auf <strong>OpenID Connect<\/strong>, ist aber kein &#8222;Yet Another Login-Service&#8220;, wie ich anfangs f\u00e4lschlicherweise vermutet hatte. ID4me erweitert die OpenID Spezifikation mit einer DNS-Discovery und funktioniert vollkommen dezentral.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>The ID4meidentifier, consisting of a valid DNS hostname (or, potentially, of an email address), would allow users to log into any online service via a single account, similarly to the OTT-run services, but would also allow users to choose the manager of their identifier among any number of compatible providers.<\/p><p>[&#8230;]<\/p><p>To foster adoption and remove barriers to market entry, ID4me builds on  public and open standards (OpenID Connect and DNSSEC) and releases all its specifications as open, royalty-free standards, submitting them to the appropriate Internet standardization bodies. Entities already running single sign-on systems based on OpenID Connect should be able to extend them to provide ID4meidentifiers quite easily.<\/p><cite><a href=\"https:\/\/id4me.org\/files\/ID4me_General_Overview_V.1.2.pdf\">ID4me &#8211; General overview<\/a><\/cite><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Wie funktioniert ID4me genau?<\/h2>\n\n\n\n<p>Der ID4me DNS Eintrag sieht wie folgt aus:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">_openid.notiz.blog. <span class=\"hljs-number\">600<\/span> IN TXT <span class=\"hljs-string\">\"v=OID1;iss=id.test.denic.de;clp=identityagent.de\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Dabei steht <code>v<\/code> f\u00fcr die Protokoll-Version, <code>iss<\/code> f\u00fcr den <em>Issuer<\/em> (der Endpunkt der f\u00fcr die Autentifizierung verantwortlich ist) und <code>clp<\/code> f\u00fcr <em>Claims Provider<\/em> (der Endpunkt \u00fcber den &#8222;Claims&#8220; (beispielsweise Profildaten) abgefragt werden k\u00f6nnen).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was macht ID4me so spannend?<\/h2>\n\n\n\n<p>Zum selbst hosten einer OpenID, braucht man eine Domain, Webspace und eine <strong>OpenID Connect<\/strong> &#8211; Library, au\u00dferdem muss man wissen wie man diese installiert und betreibt. Um diese Komplexit\u00e4t zu reduzieren hat man sich bei OpenID 1.1 schon 2006 mit dem Thema &#8222;<a href=\"https:\/\/openid.net\/specs\/openid-authentication-1_1.html#delegating_authentication\">Delegated Authentication<\/a>&#8220; besch\u00e4ftigt.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>If the End User&#8217;s host is not capable of running an Identity Provider, or the End User wishes to use one running on a different host, they will need to delegate their authentication. For example, if they want to use their website, http:\/\/www.example.com\/, as their Identifier, but don&#8217;t have the means, or desire, to run an Identity Provider.<\/p><\/blockquote>\n\n\n\n<p>Klassisch braucht <strong>OpenID Connect<\/strong> f\u00fcr die &#8222;Delegation&#8220; mindestens ein <a href=\"https:\/\/openid.net\/specs\/openid-connect-discovery-1_0.html#IssuerDiscovery\">WebFinger &#8211; Dokument<\/a>. Das hei\u00dft man braucht &#8222;nur&#8220; noch eine Domain, Webspace und man muss wissen wie <a href=\"https:\/\/webfinger.net\/\">WebFinger<\/a> funktioniert.<\/p>\n\n\n\n<p>ID4me konzentriert sich ausschlie\u00dflich auf das Prinzip der &#8222;Delegated Authentication&#8220; und reduziert die Anforderungen auf <strong>eine Domain!<\/strong><\/p>\n\n\n\n<p>Die Domain ist dadurch an keinen festen <strong>OpenID-Provider<\/strong> (<em>Issuer<\/em>) gebunden und kann bei einem Umzug zu einem neuen Registrar, weiterhin auf den alten Issuer zeigen, bzw. den Issuer beliebig wechseln. Solange sich die Domain nicht \u00e4ndert, sind Hoster, Domain-Registrar, OpenID-Provider oder E-Mail &#8211; Anbieter austauschbar.<\/p>\n\n\n\n<p>Noch ein sch\u00f6ner Nebeneffekt: <strong>ID4me<\/strong> tritt nicht in Konkurrenz zu anderen <strong>OpenID Connect<\/strong> Providern wie beispielsweise die oben erw\u00e4hnten netID oder VERIMI. Im Gegenteil, jeder dieser Anbieter sollte mit wenig Aufwand \u00fcber ID4me &#8222;delegierbar&#8220; sein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich hatte in den letzten Monaten die M\u00f6glichkeit, mich ein bisschen intensiver mit ID4me zu besch\u00e4ftigen. Nach anf\u00e4nglicher Skepsis finde ich die Idee mittlerweile extrem charmant. Im letzten Jahr haben sich einige deutsche Firmen zusammen geschlossen um mit netID bzw. VERIMI zwei konkurrierende Single-Sign-On Dienste zu entwickeln. Beide Systeme basieren zwar auf dem offenen Standard [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":18402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[2],"tags":[765,5171,423,873],"class_list":{"0":"post-18190","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-web","8":"tag-discovery","9":"tag-fediblog","10":"tag-openid","11":"tag-openid-connect","12":"h-entry","13":"hentry"},"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/18190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/comments?post=18190"}],"version-history":[{"count":0,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/18190\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media\/18402"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=18190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=18190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=18190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}