API (Application Programming Interface)
Eine definierte Schnittstelle, über die Softwaresysteme miteinander kommunizieren können – der Standard für die Integration von KI-Diensten in Anwendungen.
Ein offenes Autorisierungsprotokoll, das Anwendungen begrenzten Zugriff auf Nutzerkonten ermöglicht – ohne dass der Nutzer sein Passwort teilen muss.
OAuth 2.0 ist der Industriestandard für sichere Autorisierung – das Protokoll, das “Mit Google anmelden” und “Mit GitHub anmelden” ermöglicht. Es löst ein fundamentales Problem: Wie kann eine App auf Ressourcen eines Nutzers zugreifen, ohne dessen Passwort zu kennen? OAuth trennt Authentifizierung (Wer bist du?) von Autorisierung (Was darfst du?) und ist für jede KI-Anwendung relevant, die auf Nutzerdaten oder externe APIs zugreift.
OAuth löst ein einfaches Problem: Wie gibst du einer App Zugriff auf deine Daten, ohne dein Passwort zu verraten?
Ablauf (vereinfacht):
1. App: "Darf ich auf deine GitHub-Repos zugreifen?"
2. Du: Wirst zu GitHub weitergeleitet
3. GitHub: "App X möchte Zugriff auf deine Repos. Erlauben?"
4. Du: "Ja, erlauben"
5. GitHub → App: Hier ist ein Access Token (gültig 1 Stunde)
6. App: Nutzt Token für API-Zugriff (nur Repos, nichts anderes)
scope=read:repos write:gists user:email
Scopes begrenzen was die App tun darf – Principle of Least Privilege.
OAuth ist wie ein Hotelschlüssel: Du bekommst eine Karte, die nur bestimmte Türen öffnet und nach einer gewissen Zeit abläuft – ohne dass du den Generalschlüssel des Hotels brauchst.
Delegierte Autorisierung: Apps erhalten begrenzten Zugriff ohne Passwort-Weitergabe
Token-basiert: Access Tokens mit begrenzter Gültigkeit und definierten Berechtigungen (Scopes)
Standard für 'Login mit Google/GitHub' und API-Zugriff auf Drittanbieter-Dienste
Social Login
'Mit Google anmelden' – Nutzer authentifizieren ohne eigenes Passwort-System
API-Zugriff
Drittanbieter-Apps begrenzten Zugriff auf Nutzerdaten geben (z.B. GitHub Repos)
KI-API-Authentifizierung
Sichere Authentifizierung für OpenAI, Anthropic und andere LLM-APIs
Microservice-Kommunikation
Service-to-Service Authentifizierung mit Client Credentials Flow
OAuth regelt Autorisierung (was darf eine App tun?), OpenID Connect (OIDC) baut darauf auf und regelt Authentifizierung (wer ist der Nutzer?). OIDC fügt einen ID-Token mit Nutzerinfos hinzu.
Ja, wenn korrekt implementiert: kurze Gültigkeit, HTTPS-only, sichere Speicherung. Refresh Tokens sollten rotiert werden und Access Tokens nie im LocalStorage landen.
Der OAuth-Flow für mobile Anwendungen umfasst in der Regel eine Umleitung des Nutzers zu einem Autorisierungsserver, wo er seine Zugangsdaten eingibt. Nach der Genehmigung erhält die App ein Token, das für zukünftige API-Anfragen verwendet werden kann, ohne dass das Passwort des Nutzers gespeichert werden muss.
Einige Sicherheitsrisiken bei der Verwendung von OAuth umfassen Token-Diebstahl, unsichere Umleitungen und das Risiko von Phishing-Angriffen. Es ist wichtig, sichere Praktiken wie die Verwendung von HTTPS und die Validierung von Redirect-URIs zu befolgen, um diese Risiken zu minimieren.