{"id":4130,"date":"2012-01-18T11:31:08","date_gmt":"2012-01-18T10:31:08","guid":{"rendered":"http:\/\/notizblog.org\/?p=4130"},"modified":"2023-06-28T19:51:34","modified_gmt":"2023-06-28T17:51:34","slug":"openid-connect-complex","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2012\/01\/18\/openid-connect-complex\/","title":{"rendered":"OpenID <del datetime=\"2012-01-18T09:33:25+00:00\">Connect<\/del> Complex"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"250\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2012\/01\/openid-complex.jpg\" alt=\"openid-complex\" class=\"wp-image-4138\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2012\/01\/openid-complex.jpg 600w, https:\/\/notiz.blog\/wp-content\/uploads\/2012\/01\/openid-complex-480x200.jpg 480w\" \/><\/figure>\n\n\n\n<p>Hat der erste Entwurf von <a href=\"http:\/\/web.archive.org\/web\/20110720081501\/http:\/\/openidconnect.com\/\"><em>OpenID Connect<\/em><\/a> noch auf eine (\u00fcbersichtliche) Seite gepasst, braucht der <a href=\"https:\/\/openid.net\/connect\/\">Draft<\/a> der OpenID Foundation schon <strong>7 unterschiedliche Spezifikationen<\/strong>.<\/p>\n\n\n\n<p>Wieso m\u00fcssen &#8222;Standard&#8220;-Organisationen wie das W3C (z.B. RDFa) oder der OpenID Foundation denn alles so unn\u00f6tig kompliziert machen? Immerhin schafft es ja sogar Facebook seinen Authentifizierungsprozess auf <a href=\"http:\/\/developers.facebook.com\/docs\/authentication\/\">einer Seite<\/a> zu erkl\u00e4ren. &#8230;und noch besser! Er l\u00e4sst in drei S\u00e4tzen zusammenfassen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\t<li>Hol dir \u00fcber folgende URL einen Access-Token:<br\/>\n\t\t<code>https:\/\/www.facebook.com\/dialog\/oauth?<br\/>\n     client_id=YOUR_APP_ID&amp;redirect_uri=YOUR_URL<\/code><\/li>\n\t<li>H\u00e4ng ihn an folgende URL, auf den du den User weiterleitest:<br\/>\n\t\t<code>https:\/\/www.facebook.com\/dialog\/oauth?<br\/>\n     client_id=YOUR_APP_ID&amp;redirect_uri=YOUR_URL&amp;<br\/>\n     scope=email,read_stream<\/code><\/li>\n\t<li>Fertsch!<\/li>\n<\/ol>\n\n\n\n<p>&#8230;dazu kommen eine weitere <a href=\"http:\/\/openid.net\/specs\/openid-connect-discovery-1_0.html\">Discovery-Variante<\/a> die Webfinger, host-meta, XRD, XRDS oder YADIS komplett ignoriert und eine <a href=\"http:\/\/openid.net\/specs\/openid-connect-messages-1_0.html#anchor14\">Identity-API<\/a> die SREG oder AX noch nicht einmal \u00e4hnelt!<\/p>\n\n\n\n<p>Mike Jones, einer der Hauptentwickler der Spezifikation, <a href=\"https:\/\/self-issued.info\/?p=619\">schreibt zwar<\/a>:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n\t<p>The design philosophy behind OpenID Connect is \u201cmake simple things simple and make complex things possible\u201d.<\/p>\n<\/blockquote>\n\n\n\n<p>Das ist aber nur die halbe Wahrheit. Webseitenbetreiber, die zuk\u00fcnftig einen <em>OpenID Connect<\/em> Login anbieten wollen, haben es in der Tat etwas einfacher, da sie sich auf die &#8222;<a href=\"https:\/\/openid.net\/specs\/openid-connect-basic-1_0.html\">Minimalanforderungen<\/a>&#8220; konzentrieren k\u00f6nnen. Seiten die einen <em>OpenID Connect<\/em> Provider stellen wollen haben aber <a href=\"http:\/\/openid.net\/specs\/openid-connect-basic-1_0.html#anchor2\">folgendes Problem<\/a>:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n\t<p>Authorization Requests can follow one of two paths; the Implicit Flow or the Authorization Code Flow. [&#8230;]<br\/> The OpenID Connect Basic Client profile only documents Clients using the Implicit Flow. OpenID Providers MUST support both flows. [&#8230;]<\/p>\n<\/blockquote>\n\n\n\n<p>Damit begeht die <em>OpenID Foundation<\/em> wieder den gleichen Fehler wie bei OpenID 2.0. Am Schluss gibt es so viele unterschiedliche und halbfertige Implemenrierungen, dass man wieder auf <abbr title=\"Software As A Service\">SaaS<\/abbr>-Dienste wie <a href=\"https:\/\/web.archive.org\/web\/20140127102420\/http:\/\/janrain.com:80\/products\/engage\/social-login\/\">Janrain<\/a> oder <a href=\"https:\/\/web.archive.org\/web\/20161222041022\/http:\/\/www.gigya.com\/\">Gigaya<\/a> zur\u00fcckgreifen muss. Wozu braucht es dann noch einen &#8222;Standard&#8220;?<\/p>\n\n\n\n<p>Warum denn immer <a href=\"https:\/\/notiz.blog\/2011\/11\/15\/oalternative\/\">1000 Alternativen<\/a> anbieten? Bei Facebook klappts ja auch ohne&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hat der erste Entwurf von OpenID Connect noch auf eine (\u00fcbersichtliche) Seite gepasst, braucht der Draft der OpenID Foundation schon 7 unterschiedliche Spezifikationen. Wieso m\u00fcssen &#8222;Standard&#8220;-Organisationen wie das W3C (z.B. RDFa) oder der OpenID Foundation denn alles so unn\u00f6tig kompliziert machen? Immerhin schafft es ja sogar Facebook seinen Authentifizierungsprozess auf einer Seite zu erkl\u00e4ren. &#8230;und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"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":[5171,746,423,873,917,533,843],"class_list":{"0":"post-4130","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-web","7":"tag-fediblog","8":"tag-janrain","9":"tag-openid","10":"tag-openid-connect","11":"tag-simple-web-discovery","12":"tag-w3c","13":"tag-webfinger","14":"h-entry","15":"hentry"},"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/4130","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=4130"}],"version-history":[{"count":2,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/4130\/revisions"}],"predecessor-version":[{"id":22721,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/4130\/revisions\/22721"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=4130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=4130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=4130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}