OpenID Connect (OIDC) ist ein Authentifizierungsprotokoll, das auf OAuth 2.0 basiert. Es ermöglicht es Clients (z. B. Web-Apps, Mobile-Apps), die Identität eines Benutzers sicher zu verifizieren, der sich bei einem externen Identitätsanbieter (IdP) anmeldet — zum Beispiel Google, Microsoft, Apple, etc.
OAuth 2.0 → regelt die Autorisierung (Zugriff auf Ressourcen)
OpenID Connect → regelt die Authentifizierung (Wer ist der Benutzer?)
Benutzer klickt auf "Login mit Google"
Deine App leitet den Benutzer zum Google-Login weiter
Nach erfolgreichem Login leitet Google den Benutzer mit einem ID Token zurück
Deine App validiert dieses JWT-Token
Du weißt nun, wer der Benutzer ist – verifiziert von Google
Das ID Token ist ein JSON Web Token (JWT) mit Informationen über den Benutzer, z. B.:
{
"iss": "https://accounts.google.com",
"sub": "1234567890",
"name": "John Doe",
"email": "john@example.com",
"iat": 1650000000,
"exp": 1650003600
}
iss = Issuer (z. B. Google)
sub = Benutzer-ID
email, name = Benutzerinformationen
iat, exp = Zeitstempel
"Login mit Google/Microsoft/Apple"
Single Sign-On (SSO) in Unternehmen
Zentrale Identitätsverwaltung (Keycloak, Auth0, Azure AD)
OAuth-basierte APIs mit Identitätsprüfung
| Komponente | Beschreibung |
|---|---|
| Relying Party | Deine App, die den Login anfordert |
| Identity Provider | Der externe Login-Anbieter (z. B. Google) |
| ID Token | Das JWT mit den Benutzerinformationen |
| UserInfo Endpoint | (Optional) API für weitere Benutzerdaten |
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenformat zur Darstellung strukturierter Daten im Textformat. Es wird häufig für den Datenaustausch zwischen einem Server und einer Webanwendung verwendet. JSON ist leicht lesbar und schreibbar für Menschen und einfach zu analysieren und zu generieren für Maschinen.
Hier sind einige grundlegende Merkmale von JSON:
Syntax:
{} eingeschlossen.[] eingeschlossen.Datentypen:
"Hallo"123 oder 12.34{"Schlüssel": "Wert"}["Element1", "Element2"]true oder falsenullBeispiel:
{
"Name": "Max Mustermann",
"Alter": 25,
"Adresse": {
"Straße": "Musterstraße 1",
"Stadt": "Musterstadt"
},
"Hobbys": ["Lesen", "Schreiben", "Reisen"]
}
In diesem Beispiel enthält das JSON-Objekt Informationen über eine Person mit ihrem Namen, Alter, Adresse und Hobbys.
JSON hat sich aufgrund seiner Einfachheit und Flexibilität als Standardformat für den Datenaustausch im Web etabliert.