Go

Sicherheit und Authentifizierung

JWT, OAuth2, Sitzungsverwaltung, RBAC, crypto/rand vs. math/rand, TLS-Konfiguration, sicheres Programmieren, Sicherheits-Best-Practices

24 Interview-Fragen·
Senior
1

Was ist der Hauptunterschied zwischen JWT-Tokens und herkömmlichen Serversitzungen?

Antwort

JWT-Tokens sind zustandslos (kein serverseitiger Zustand) und enthalten alle erforderlichen Informationen, die im Token selbst codiert sind. Im Gegensatz zu herkömmlichen Sitzungen, die Daten serverseitig im Speicher oder in einer Datenbank speichern und clientseitig nur eine session ID vorhalten, verlagert JWT die Speicherverantwortung auf den Client. Dies erleichtert die horizontale Skalierung, da kein gemeinsamer Zustand zwischen den Servern erforderlich ist.

2

Was sind die drei durch Punkte getrennten Teile eines JWT-Tokens?

Antwort

Ein JWT besteht aus drei Base64URL-codierten, durch Punkte getrennten Teilen: Header (Algorithmus und Typ), Payload (Claims/Daten) und Signature (Integritätsprüfung). Die Struktur lautet header.payload.signature. Der Header gibt den Signaturalgorithmus an (HS256, RS256), das Payload enthält die Claims (iss, sub, exp) und die Signature stellt sicher, dass das Token nicht manipuliert wurde.

3

Welcher Standard-JWT-Claim definiert den Ablauf-Zeitstempel des Tokens?

Antwort

Der Claim 'exp' (expiration time) definiert den Unix-Zeitstempel, nach dem das Token nicht mehr akzeptiert werden sollte. Zu den Standard-Claims gehören außerdem 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) und 'nbf' (not before). Die Validierung des exp-Claims ist entscheidend, um die Gültigkeitsdauer von Tokens zu begrenzen und die Auswirkungen eines gestohlenen Tokens zu verringern.

4

Was ist der Hauptunterschied zwischen HS256 und RS256 beim Signieren von JWTs?

5

Wie widerruft man ein JWT vor seinem natürlichen Ablauf?

+21 Interview-Fragen

Meistere Go für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten