Was ist OAuth2?
OAuth2 ist ein Autorisierungsframework. Es erlaubt Anwendungen, im Namen eines Benutzers auf geschützte Ressourcen zuzugreifen. Passwörter werden dabei nicht weitergegeben.
Was ist der Unterschied zwischen Authentifizierung und Autorisierung?
Authentifizierung prüft, wer ein Benutzer ist. Autorisierung entscheidet, was er darf. OAuth2 kümmert sich um Autorisierung.
Was ist JWT?
JWT steht für JSON Web Token. Es ist ein kompaktes Token-Format zur sicheren Übertragung von Claims. JWTs werden häufig für stateless Authentifizierung genutzt.
Wie ist ein JWT aufgebaut?
Ein JWT besteht aus Header Payload und Signature. Die Teile sind Base64-codiert. Die Signatur schützt vor Manipulation.
Was ist der Unterschied zwischen OAuth2 und JWT?
OAuth2 ist ein Protokoll für Autorisierung. JWT ist ein Token-Format. OAuth2 kann JWT als Access Token nutzen.
Was ist ein Access Token?
Ein Access Token berechtigt den Zugriff auf eine Ressource. Es wird vom Authorization Server ausgestellt. Es ist meist kurzlebig.
Was ist ein Refresh Token?
Ein Refresh Token dient zum Erneuern von Access Tokens. Er ist langlebiger. Er darf nur vom Authorization Server genutzt werden.
Was ist ein Authorization Server?
Der Authorization Server authentifiziert Benutzer. Er stellt Tokens aus. Beispiele sind Keycloak oder Auth0.
Was ist ein Client in OAuth2?
Ein Client ist die Anwendung, die Zugriff anfordert. Das kann ein Web- oder Mobile-Client sein. Er besitzt eine Client-ID.
Was ist der Authorization Code Flow?
Dieser Flow wird für Webanwendungen genutzt. Der Client erhält einen Code und tauscht ihn gegen Tokens. Er gilt als sehr sicher.
Was ist der Client Credentials Flow?
Dieser Flow wird für Machine-to-Machine-Kommunikation genutzt. Es gibt keinen Benutzer. Der Client authentifiziert sich selbst.
Was ist der Implicit Flow und warum ist er veraltet?
Der Implicit Flow gibt Tokens direkt an den Browser aus. Das ist unsicher. Er wird heute nicht mehr empfohlen.
Was ist PKCE?
PKCE schützt den Authorization Code Flow. Es verhindert Code-Abfangangriffe. Es ist Pflicht für öffentliche Clients.
Was bedeutet stateless Authentifizierung?
Der Server speichert keine Session. Alle Informationen stehen im Token. Das erleichtert horizontale Skalierung.
Wie wird ein JWT validiert?
Die Signatur wird geprüft. Claims wie Ablaufzeit und Issuer werden validiert. Optional wird die Audience geprüft.
Was ist ein Claim in JWT?
Claims sind Informationen im Token. Es gibt Standard- und Custom-Claims. Sie beschreiben Benutzer oder Berechtigungen.
Was ist der Unterschied zwischen symmetrischer und asymmetrischer Signatur?
Symmetrisch nutzt ein gemeinsames Geheimnis. Asymmetrisch nutzt Public und Private Key. Asymmetrisch ist besser skalierbar.
Was ist Token Expiration und warum wichtig?
Tokens haben eine begrenzte Lebensdauer. Das reduziert Schadenspotenzial. Abgelaufene Tokens werden abgelehnt.
Was ist Token Revocation?
Token Revfferung macht Tokens ungültig. Bei JWT ist das schwierig. Oft werden kurze Laufzeiten genutzt.
Was ist Scope in OAuth2?
Scopes definieren Zugriffsrechte. Sie beschreiben, was ein Token darf. APIs prüfen Scopes.
Was ist Audience Claim?
Audience definiert, für welchen Empfänger das Token gilt. Der Resource Server prüft diesen Wert. Das verhindert Token-Missbrauch.
Was ist OpenID Connect?
OIDC erweitert OAuth2 um Authentifizierung. Es liefert Benutzerinformationen. Es wird für Login verwendet.
Was ist ID Token?
Ein ID Token enthält Identitätsinformationen. Es wird bei OIDC genutzt. Es ist nicht für API-Zugriffe gedacht.
Was sind Security-Risiken bei JWT?
Token-Diebstahl ist das größte Risiko. Tokens dürfen nicht im LocalStorage gespeichert werden. HTTPS ist Pflicht.
Wie schützt man JWT im Browser?
Man nutzt HTTP-only Cookies. XSS-Angriffe werden so erschwert. CSRF-Schutz ist zusätzlich nötig.
Was ist Token Rotation?
Refresh Tokens werden bei jeder Nutzung erneuert. Alte Tokens werden invalidiert. Das erhöht Sicherheit.
Wie integriert man OAuth2 in Spring Boot?
Spring Security bietet OAuth2-Unterstützung. Clients und Resource Server lassen sich konfigurieren. Tokens werden automatisch validiert.
Wann ist OAuth2 ungeeignet?
Für sehr einfache interne Systeme. Wenn keine externe Autorisierung nötig ist. Der Setup-Aufwand ist höher.
Wann ist JWT ungeeignet?
Wenn sofortige Token-Sperrung nötig ist. Bei hochsensiblen Sessions. Stateful Sessions sind dann besser.
Last changed11 hours ago