Go

Bezpieczeństwo i uwierzytelnianie

JWT, OAuth2, zarządzanie sesjami, RBAC, crypto/rand vs math/rand, konfiguracja TLS, bezpieczne kodowanie, najlepsze praktyki bezpieczeństwa

24 pytań z rozmów·
Senior
1

Jaka jest główna różnica między tokenami JWT a tradycyjnymi sesjami serwerowymi?

Odpowiedź

Tokeny JWT są bezstanowe (brak stanu po stronie serwera) i zawierają wszystkie niezbędne informacje zakodowane w samym tokenie. W przeciwieństwie do tradycyjnych sesji, które przechowują dane w pamięci lub bazie danych po stronie serwera, mając jedynie session ID po stronie klienta, JWT przenosi odpowiedzialność za przechowywanie na klienta. Ułatwia to skalowanie poziome, ponieważ między serwerami nie jest wymagany żaden współdzielony stan.

2

Jakie są trzy części tokenu JWT oddzielone kropkami?

Odpowiedź

JWT składa się z trzech części zakodowanych w Base64URL i oddzielonych kropkami: Header (algorytm i typ), Payload (claims/dane) oraz Signature (weryfikacja integralności). Struktura to header.payload.signature. Header wskazuje algorytm podpisu (HS256, RS256), payload zawiera claims (iss, sub, exp), a signature zapewnia, że token nie został zmodyfikowany.

3

Który standardowy claim JWT definiuje znacznik czasu wygaśnięcia tokenu?

Odpowiedź

Claim 'exp' (expiration time) definiuje znacznik czasu Unix, po którym token nie powinien być już akceptowany. Standardowe claims obejmują również 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) i 'nbf' (not before). Walidacja claimu exp jest kluczowa, aby ograniczyć czas ważności tokenów i zmniejszyć skutki kradzieży tokenu.

4

Jaka jest główna różnica między HS256 a RS256 przy podpisywaniu JWT?

5

Jak unieważnić JWT przed jego naturalnym wygaśnięciem?

+21 pytań z rozmów

Opanuj Go na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo