- OpenID Connect: Neun Spezifikationen wurden als ISO/IEC-Standards veröffentlicht. Damit sind Core 1.0, Discovery, Dynamic Client Registration, Logout-Spezifikationen sowie OAuth-2.0-Response-Modes Teil des internationalen Standardsystems
- Die OpenID Foundation reichte sie im Dezember 2023 im PAS-Verfahren (Publicly Available Specifications) bei ISO ein; nach der ISO-Zustimmungsabstimmung wurde die Veröffentlichung abgeschlossen
- Durch die ISO-Standardisierung könnte die Bereitstellung von OpenID Connect auch in Rechtsordnungen einfacher werden, die Spezifikationen von international vertraglich anerkannten Standardisierungsorganisationen verlangen
- Vor der Einreichung führte die OpenID Connect Working Group ein Verfahren zur Anwendung von Errata Corrections durch, damit bekannte Korrekturen in die ISO-Versionen einfließen
- Auf Basis der Erfahrungen mit diesem PAS-Verfahren plant die OpenID Foundation, auch FAPI 1.0 sowie nach ihrer Finalisierung die Spezifikationsfamilien eKYC-IDA und FAPI 2.0 zur ISO-Veröffentlichung einzureichen
Als ISO/IEC-Standards veröffentlichte Spezifikationen
- Insgesamt wurden neun Spezifikationen rund um OpenID Connect als ISO/IEC-Standards veröffentlicht
- ISO/IEC 26131:2024 — Information technology — OpenID connect — OpenID connect core 1.0 incorporating errata set 2
- ISO/IEC 26132:2024 — Information technology — OpenID connect — OpenID connect discovery 1.0 incorporating errata set 2
- ISO/IEC 26133:2024 — Information technology — OpenID connect — OpenID connect dynamic client registration 1.0 incorporating errata set 2
- ISO/IEC 26134:2024 — Information technology — OpenID connect — OpenID connect RP-initiated logout 1.0
- ISO/IEC 26135:2024 — Information technology — OpenID connect — OpenID connect session management 1.0
- ISO/IEC 26136:2024 — Information technology — OpenID connect — OpenID connect front-channel logout 1.0
- ISO/IEC 26137:2024 — Information technology — OpenID connect — OpenID connect back-channel logout 1.0 incorporating errata set 1
- ISO/IEC 26138:2024 — Information technology — OpenID connect — OAuth 2.0 multiple response type encoding practices
- ISO/IEC 26139:2024 — Information technology — OpenID connect — OAuth 2.0 form post response mode
PAS-Einreichung und ISO-Zustimmung
- Die Einreichung der OpenID-Connect-Spezifikationen für die OpenID Foundation erfolgte im Dezember 2023 in Form von PAS (Publicly Available Specifications)
- Nach der ISO-Zustimmungsabstimmung wurden die Spezifikationen als ISO/IEC-Standards veröffentlicht
- Da ISO zu den international vertraglich anerkannten Standardisierungsorganisationen gehört, könnte dies die Einführung von OpenID Connect in Rechtsordnungen erleichtern, die die Nutzung von Standards solcher Organisationen gesetzlich verlangen
Korrekturen in den ISO-Versionen
- Vor der Einreichung führte die OpenID Connect Working Group ein Verfahren zur Anwendung von Errata Corrections auf die Spezifikationen durch
- Dadurch wurden bekannte Korrekturen in die ISO-Versionen übernommen
Weitere geplante ISO-Einreichungen
- Nachdem die OpenID Foundation das ISO-PAS-Einreichungsverfahren einmal abgeschlossen hat, plant sie, weitere finale Spezifikationsfamilien zur ISO-Veröffentlichung einzureichen
- Zu den nächsten Kandidaten gehört die Spezifikation FAPI 1.0
- Die Spezifikationen eKYC-IDA und FAPI 2.0 sind nach ihrer Finalisierung für die Einreichung vorgesehen
1 Kommentare
Meinungen auf Hacker News
Obwohl ich vor etwa 17 Jahren ziemlich tief in OpenID involviert war (https://simonwillison.net/search/?tag=openid&year=2007), hat es peinlich lange gedauert, bis ich verstanden habe, dass OpenID Connect kaum etwas mit der ursprünglichen OpenID-Idee zu tun hat, bei der „der Identifier eine URL ist und man den Besitz dieser URL nachweist“
OpenID Connect ist im Grunde eher eine Weiterentwicklung von OAuth
OpenID Connect ist weniger eine Weiterentwicklung von OAuth, sondern in Vision und Geist eher eine Weiterentwicklung von OpenID. Wie OpenID konzentriert sich OIDC auf Nutzeridentifikation und Authentifizierung, hat aber im Gegensatz zu OpenID keinen völlig neuen Authentifizierungs-Flow neu erfunden, sondern den Authentifizierungs-Flow auf die OAuth-Spezifikation gesetzt, die ohnehin bereits für Authentifizierung zweckentfremdet wurde, und damit das Hauptziel erreicht
Deshalb folgen auch Systeme, deren Ziel nicht OIDC-Konformität ist, oft teilweise OIDC. Wenn ein Teil des OIDC-Standards bereits liefert, was man braucht, gibt es keinen Grund, das Rad neu zu erfinden
OpenID Connect ist eine Erweiterung, die OAuth2 (RFC 6749) eine Authentifizierungsschicht hinzufügt, und OAuth2 ist ein Autorisierungs-Framework zur Vergabe von Berechtigungen
Dagegen sind OAuth 1.0/1.0a und OpenID 1/2 nur dem Namen nach ähnlich; es sind voneinander unabhängige und inkompatible Protokolle und Stand 2024 größtenteils irrelevant. Beim Suchen sollte man aufpassen
Das ist in keiner Hinsicht eine gute Sache. Erstens sind kostenpflichtige Standards, die man nur gegen Bezahlung einsehen kann, wirklich schlecht
Zweitens wünschte ich, es würde mehr Aufwand in die Gestaltung von Standards und Implementierungen fließen, die bei Bedarf nicht zu einem endlosen Zeitfresser werden
Allerdings ist mir nicht ganz klar, welchen Vorteil es hat, eine ISO-Standardnummer zu bekommen, statt einfach ein HTML-Dokument ins Internet zu stellen
Standards sind gut, aber große Standardisierungsorganisationen wie ISO nerven, weil sie Geld verlangen, wenn man Standards einsehen will
Vermutlich liegt es daran, dass manche Unternehmen oder Branchen solche „echten“ Standards von solchen Organisationen verlangen, statt etwas von der IETF oder von schmuddeligen Open-Source-Hippie-Gruppen
Wenn OpenID Connect also mit einer ISO-Nummer veröffentlicht wird, wird die Einführung in manchen Projekten einfacher. Natürlich bleibt OpenID Connect selbst weiterhin kostenlos einsehbar und nutzbar, aber für Menschen in solchen Situationen entsteht eine leichter wählbare Option
ISO ist unfreier Müll und hilft dem Software-Ökosystem nicht
Wenn man sich ISO 8601 ansieht, ist es übermäßig komplex, wird oft nicht richtig implementiert, weil Maintainer kostenlose Entwürfe verwenden, und löst tatsächlich nichts wirklich gut. Zum Beispiel kann es keine Wanduhrzeit ausdrücken, was bei zukünftigen Daten problematisch wird, wenn sich Zeitzonen ändern können
Ich habe früher auch mit mp4 gearbeitet und festgestellt, dass es Änderungen im Apple-Stack gab, sodass ISO allein nicht ausreicht
Die Kritik läuft meist auf Annahmen wie Änderungen der Sommerzeit hinaus. Häufig lautet sie sinngemäß: „Ich möchte 14:00 Uhr Ortszeit in Absurdistan in vier Jahren festlegen, unabhängig davon, in welcher Beziehung das dann zu UTC steht, kann es aber nicht.“ Wenn man die Annahmen aber etwas weiterdenkt, könnte Absurdistan auch Überseegebiete hinzufügen, einem Bündnis beitreten oder Zeitzone und Sommerzeit ändern
Wenn man das Problem betrachtet, kann sich die Definition von Ortszeit selbst ändern; daher ist es unmöglich, eine zukünftige Ortszeit festzulegen, solange man nicht jede mögliche Änderung vollständig definiert. Am Ende muss man entweder eine zukünftige Anzahl von Atomuhren-Ticks (TAI) festlegen und sie zum Nutzungszeitpunkt als Ortszeit interpretieren, oder einen festen Zeitpunkt angeben und ihn zum Nutzungszeitpunkt als Ortszeit interpretieren
Ich frage mich auch, ob die neue JS Temporal API das behandelt. Sie schien ziemlich tief in das Thema einzusteigen
Standards, die zum Lesen kostenpflichtig sind, wie bei ISO, behindern aktiv den Fortschritt der Menschheit. Ich wünschte, man würde dieses Verhalten nicht fördern
Soweit ich es verstehe, sind der endgültige Entwurf und der offizielle Standard inhaltlich praktisch identisch. Vermutlich sind auch Entwürfe des OIDC-Standards irgendwo öffentlich
Es ist seltsam zu sagen, dass diese Ingenieure den Fortschritt der Menschheit schaffen und ihn gleichzeitig aktiv beschädigen
Identitäts-Provisionierung ist ein Monster, das nie hätte erfunden werden dürfen
Mitte der 2000er war ich so ein Fan, dass ich sogar meinen eigenen OpenID-Server betrieben habe, aber mir war nicht klar, wie grundlegend fehlerhaft dieses ganze Konzept ist
Identität ist eine einer Person innewohnende, nicht übertragbare Eigenschaft, nichts, was andere Personen, Unternehmen/Websites, Regierungen usw. „bereitstellen“ können. Sie können sie nur nachweisen, indem sie Berechtigungsnachweise ausstellen, etwa wie bei einem Reisepass
Zumindest WebAuthn hat diesen Teil richtig hinbekommen
Manche Identitäten nutzt man an so vielen Stellen, dass es für einige Akteure schwer wäre zu bestreiten, dass sie mir gehören; aber selbst dann ist nur eine kleine Teilmenge der Akteure, die diese Identität gesehen haben, in der Lage zu beweisen, dass ich es bin
Gibt es außerhalb von Google, MS und Apple noch unabhängige OIDC-Aussteller, bei denen man Konten erstellen kann?
Vor einiger Zeit wollte ich ein Tailscale-Konto erstellen, ohne ein GitHub-Konto zu verwenden, aber das ging nicht
Früher boten, glaube ich, openid.net und Ubuntu One solche Dienste an, aber meines Wissens wurden sie eingestellt
Allerdings sind die für solche Dienste nötigen Sicherheits- und Supportkosten hoch, sodass es gerade für kleinere Organisationen unrealistisch ist, sie kostenlos anzubieten. Die Skaleneffekte, die so etwas ermöglichen, sind groß, und es passt besonders gut, wenn große Unternehmen für Enterprise-Produkte zahlen
OpenID Connect ist ein ziemlich einfaches Protokoll. Ich konnte die Spezifikation (https://openid.net/specs/openid-connect-core-1_0.html) lesen und nach ungefähr einem Tag das meiste verstehen
Für Leute, die die Spezifikation nicht lesen wollen, habe ich auch ein umfassendes Tutorial geschrieben, in dem ein OpenID-Client mit einfachen HTTP-Requests implementiert wird (https://spapas.github.io/2023/11/29/openid-connect-tutorial/)
Die Beispiele verwenden Python, aber es dürfte nicht schwer sein, das in einer beliebigen Sprache umzusetzen. Der Großteil der Komplexität liegt darin, JWT-Tokens zu dekodieren und zu prüfen
Diesen handgeschriebenen Client nutze ich seit etwa einem Jahr in einem echten Produktionsprojekt für die Keycloak-Authentifizierung, und alles funktioniert einwandfrei
P.S.: Ich weiß, dass meine Website zu viele Anzeigen hat. Leider hatte ich keine Zeit, Google Ads richtig zu konfigurieren, und habe auch keine bessere Alternative gefunden. Beim Lesen kann man einfach einen Adblocker verwenden
Allerdings sollte man mit subjektiven Formulierungen wie einfach vorsichtig sein. Wenn Leser etwas schwierig finden und der Autor sagt, es sei einfach, kann das ziemlich einschüchternd wirken
Trotzdem bin ich noch nicht überzeugt, dass OIDC leicht ist. Keycloak versteckt enorme Komplexität, und die Entwickler haben das nicht aus Langeweile so gebaut. Zum Beispiel gibt es sehr viele verschiedene Timeout-Einstellungen, etwa SSO-Timeouts, Client-Timeouts und diverse Token-Timeouts
Die Monetarisierung und Organisationsführung rund um ISO-Standards wirkt insgesamt sehr suspekt
Ein weniger bekannter Trick: Auf der freundlichen estnischen Website https://evs.ee kann man nach günstigeren Versionen von Standards suchen. Dort werden oft eigene Versionen erstellt, die nahezu denselben Inhalt wie das Original haben. Leider scheint es in diesem Fall den eigentlichen Standard nur zu einem ähnlichen Preis zu geben https://www.evs.ee/en/search?OnlySuggestedProducts=false&que...
Es lohnt sich, die Website im Auge zu behalten, ob später eine eigene Version zu einem besseren Preis erscheint. Normalerweise liegt der Preis bei etwa 10 % des Originals. Ein weiterer Datenpunkt dafür, dass Estland coole Dinge macht
Durch meine Arbeit zur Compliance bei Medizinprodukten habe ich recht häufig mit ziemlich fragwürdigen Standardisierungsorganisationen zu tun https://openregulatory.com/accessing-standards/
Die üblichen Argumente wie „Standardisierung kostet Geld“ und „diese Organisationen leisten gute Arbeit“ habe ich alle gehört, stimme ihnen aber überhaupt nicht zu. Wenn etwas ein Standard ist, wird es meiner Ansicht nach gesetzesähnlich. Menschen müssen sich daran halten können, und dafür muss es frei zugänglich sein. Der Generalanwalt der EU scheint dem ebenfalls zuzustimmen https://openregulatory.com/maybe-eu-standards-are-becoming-f...
Es gibt viel Standardisierung, die nicht darauf angewiesen ist, PDFs auf fragwürdige Weise gegen Geld zu verkaufen. ECMAScript und ANSI C fallen mir ein, und die Liste geht weiter
Als ISO-Publikation wird es aus Sicht von Beschaffungsabteilungen zu einem Schutzschild zur Verantwortungsvermeidung
Schließlich wurde noch niemand gefeuert, weil er die Einhaltung eines Pakets von ISO-Standards verlangt hat