OAuth2 und OpenID Connect
Autorisierung & Authentifizierung leicht gemacht – mit modernen Standards!
OAuth2 & OpenID Connect
Was sind Standards und warum machen Sie uns das Leben einfacher?
Ein Standard ist einfach gesagt eine vereinbarte Art etwas bestimmtes zu tun, z.B. ein standardisiertes Format zum Austausch von Daten. Im Kontext von Identity & Access Management sind dabei insbesondere der Standards OAuth2 (OAuth 2.0) für die Autorisierung und OpenID Connect für die Authentifizierung wichtig. Standards sind dabei in vielerlei Hinsicht vorteilhaft: Sie sorgen im Wesentlichen für eine gute Interoperabilität und eine einfache Integration zwischen den verschiedenen Softwaresystemen. Dies führt u.a. zu einer besseren Kosteneffizienz und kürzeren Umsetzungszeiträumen. Darüber hinaus bringt eine Standardisierung auch Vorteile mit Blick auf die Stabilität und Sicherheit mit sich – da beispielsweise eine Integration nach einem Standard immer gleich abläuft und potentiell auch mehr Unternehmen, als bei einer individuelle Integration, dem Pattern folgen. Dies ermöglicht außerdem, dass Schwachstellen und Fehler im Standard frühzeitig erkannt werden und diese schneller behoben werden, was zu einer Härtung und höheren Stabilität führt.
Einfache Integration
Beste Interoperabilität und einfache Integration durch Standardisierung
Starke Sicherheit
Sicherheit und Stabilität durch Standards wie OAuth2 und OpenID Connect.
Hohe Effizienz
Hohe Kosteneffizienz und kurze Integrationszeiten
Wieso OAuth 2.0 und OpenID Connect?
Ziel von OAuth 2.0 ist es die Autorisierung von Nutzern und Anwendungen zu vereinheitlichen und zu verbessern und so sicherer zu machen.
In OpenID Connect werden dabei im Wesentlichen die Autorisierungsflows oder OAuth2 Grant Types um den Aspekt der Authentifizierung erweitert.
Dies führt zu Kosteneffizienz und kürzeren Umsetzungszeiträumen. Darüber hinaus bringt eine Standardisierung auch Vorteile mit Blick auf die Stabilität und Sicherheit.
Die Standards im Überblick
Das Autorisierungsframework – OAuth2
OAuth 2.0 ist ein Autorisierungsprotokoll, das von der OAuth Working Group entwickelt wurde und in einem RFC Standard spezifiziert ist. Ziel von OAuth 2.0 ist es die Autorisierung von Nutzern und Anwendungen zu vereinheitlichen sowie zu verbessern und so auch sicherer zu machen. Dabei wird insbesondere die Autorisierung von der eigentlichen Anwendung, also z.B. einem Onlineshop, getrennt.
Um diese Trennung zu erreichen wurden in OAuth 2.0 vier unterschiedliche Rollen eingeführt: der OAuth 2.0 Client als Endanwendung oder Onlineshop, der Authorization Server für die Autorisierung, der Resource Server für die Verwaltung der Daten und der Resource Owner oder auch der Benutzer. Die Autorisierung im OAuth 2.0 Framework wird über einen Access Token abgebildet, dieser wird vom Authorization Server für einen speziellen OAuth 2.0 Client ausgestellt und kann von diesem zu Autorisierung gegenüber anderen Applikationen und APIs verwendet werden.
OpenID Connect – Authentifizierung on top
OpenID Connect ist ein Authentifizierungsprotokoll, das auf das OAuth2 Autorisierungsframework aufsetzt. OpenID Connect wird von der OpenID Foundation entwickelt und bietet neben der Authentifizierung auch ein Konzept (Claims) zum Austausch von Profilinformation zu einem Nutzer.
In OpenID Connect werden dabei im Wesentlichen die Autorisierungsflows oder OAuth2 Grant Types um den Aspekt der Authentifizierung erweitert. Zudem wird ein ID Token und die Claims eingeführt, die für den Austausch der Profilinformationen des Nutzers verwendet werden können. Der ID Token beinhaltet dabei die Profilinformationen und die Claims beschreiben die einzelnen Profilinformationen und werden zur Abfrage der Information verwendet.
SAML vs. OpenID und OAuth2
Neben den Standars OpenID Connect und OAuth2 gibt es noch den SAML Standard, insbesondere in der Version SAML 2.0.
Der SAML Standard ist älter als OAuth2 und OpenID Connect und setzt im Gegensatz zu den beiden anderen auf XML als grundlegendes Austauschformat.
SAML 2.0 ist heute noch, insbesondere bei vielen Enterprise-Applikationen, weit verbreitet, weshalb wir in cidaas neben OAuth2 und OpenID Connect auch SAML 2.0 als Protokoll zur Integration anbieten.
Authkit.io – das cidaas Developer Toolkit für Identity & Access Management wird jetzt um den OAuth 2.0 Playground erweitert
Ein Grant für alle Fälle?
Frequently Asked Questions
Was ist OAuth2/OAuth 2.0?
OAuth 2.0 ist ein Autorisierungsprotokoll, das den Zugriff auf Benutzerressourcen für Anwendungen ermöglicht. Es definiert einen standardisierten Ablauf für die Autorisierung und den Zugriff und wird durch RFC-Standards spezifiziert, die sicherstellen, dass die Implementierungen interoperabel und sicher sind. Durch die Verwendung von RFC-Standards wie OpenID Connect kann OAuth 2.0 in sicherheitskritischen Umgebungen integriert werden, um Identitätsinformationen zu schützen und Multi-Faktor-Authentifizierung zu unterstützen.
Was ist OpenID Connect?
OpenID Connect (OIDC) ist eine Identitätslage über OAuth 2.0, die es ermöglicht, sichere Authentifizierung und Autorisierung in Anwendungen zu implementieren. Es definiert eine standardisierte Möglichkeit, Identitätsinformationen zu übermitteln und basiert auf RFC-Standards (Request for Comments), um Interoperabilität und Sicherheit zu gewährleisten. Durch die Nutzung von OIDC können Entwickler eine vertrauenswürdige Authentifizierungsschicht in ihre Anwendungen integrieren, was besonders in Kombination mit OAuth 2.0 für einen sicheren und standardisierten Identitätsaustausch sorgt.
SAML vs. OpenID Connect und OAuth2?
Neben den Standars OpenID Connect und OAuth2 gibt es noch den SAML Standard insbesondere in der Version SAML 2.0. Der SAML Standard ist älter als OAuth2 und OpenID Connect und setzt im Gegensatz zu den beiden anderen auf XML als grundlegendes Austauschformat.
cidaas - Cloud Identity & Access Management (Cloud IAM)
- Fokus auf benutzerfreundliches Management digitaler Identitäten in jeglicher Form
- Einzigartige, sichere User-Experience mit moderner 2-Faktor-Authentifizierung
- DSGVO-konformes, individualisierbares Einwilligungsmanagement