OAuth 2.0
OAuth 2.0 ist ein weit verbreiteter Standard für die Autorisierung von Anwendungen und Services.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeReif
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Missbrauch von Token durch Dritte.
- Sicherheitsanfälligkeit von Implementierungen.
- Fehlkonfiguration von Autorisierungen.
- Regelmäßige Sicherheitsüberprüfungen durchführen.
- Dokumentation für Benutzer bereitstellen.
- Verwendung von sicheren Token.
I/O & Ressourcen
- Benutzerdaten
- API-Token
- Serverkonfiguration
- Zugriff auf geschützte Ressourcen
- Freigabe von Authentifizierungen
- Rückmeldung zur Sicherheit
Beschreibung
OAuth 2.0 ermöglicht Anwendungen, auf Ressourcen von Benutzern zuzugreifen, ohne ihre Anmeldedaten preiszugeben. Es ist ein flexibles und sicheres Verfahren, das in vielen modernen Webanwendungen eingesetzt wird.
✔Vorteile
- Erhöhte Sicherheit durch Zugriffskontrollen.
- Vereinfachte Benutzeranmeldung.
- Erweiterte Integrationsmöglichkeiten.
✖Limitationen
- Komplexität bei der Implementierung.
- Zugriffsrechte sind schwer zu verwalten.
- Mögliche Probleme mit Token-Abläufen.
Trade-offs
Metriken
- Anzahl der erfolgreichen Authentifizierungen
Misst, wie oft Benutzer erfolgreich auf das System zugreifen
- Token-Ablaufzeit
Zeigt die Zeitdauer an, bis ein Token abläuft
- Zugriffsanforderungen pro Stunde
Messen der Belastung des Systems
Beispiele & Implementierungen
OAuth 2.0 in der Google-API
Google verwendet OAuth 2.0 für die Autorisierung von API-Zugriffen.
Facebook Login
Facebook ermöglicht Authentifizierungen über OAuth 2.0.
GitHub OAuth
GitHub ermöglicht Benutzern den Zugriff auf Konten über OAuth 2.0.
Implementierungsschritte
Definieren Sie die Anwendungsfälle.
OAuth-Bibliotheken in das Projekt integrieren.
Authentifizierungsmechanismen testen.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Veraltete Bibliotheken verwenden.
- Fehlende Authentifizierungslogik.
- Schwache Token-Management-Praktiken.
Bekannte Engpässe
Beispiele für Missbrauch
- Tokens ohne Verschlüsselung übertragen.
- Benutzerdaten unsicher speichern.
- Kein Token-Management implementieren.
Typische Fallen
- Technische Schulden ignorieren.
- Nicht genügend Tests durchführen.
- Unzureichende Dokumentation.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Einhaltung von Datenschutzrichtlinien.
- • Technologische Abhängigkeiten.
- • Vorgaben zur Authentifizierung.