Go

Segurança e autenticação

JWT, OAuth2, gerenciamento de sessões, RBAC, crypto/rand vs math/rand, configuração TLS, codificação segura, melhores práticas de segurança

24 perguntas de entrevista·
Senior
1

Qual é a principal diferença entre tokens JWT e sessões de servidor tradicionais?

Resposta

Os tokens JWT são stateless (sem estado no lado do servidor) e contêm todas as informações necessárias codificadas dentro do próprio token. Ao contrário das sessões tradicionais que armazenam os dados em memória ou em banco de dados no lado do servidor com apenas um session ID no lado do cliente, o JWT transfere a responsabilidade de armazenamento para o cliente. Isso facilita o escalonamento horizontal, pois nenhum estado compartilhado é necessário entre os servidores.

2

Quais são as três partes de um token JWT separadas por pontos?

Resposta

Um JWT é composto por três partes codificadas em Base64URL e separadas por pontos: Header (algoritmo e tipo), Payload (claims/dados) e Signature (verificação de integridade). A estrutura é header.payload.signature. O header indica o algoritmo de assinatura (HS256, RS256), o payload contém os claims (iss, sub, exp) e a signature garante que o token não foi adulterado.

3

Qual claim padrão de JWT define o timestamp de expiração do token?

Resposta

O claim 'exp' (expiration time) define o timestamp Unix após o qual o token não deve mais ser aceito. Os claims padrão também incluem 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) e 'nbf' (not before). Validar o claim exp é crucial para limitar a duração de validade dos tokens e reduzir o impacto de um token roubado.

4

Qual é a principal diferença entre HS256 e RS256 para assinar JWTs?

5

Como revogar um JWT antes de sua expiração natural?

+21 perguntas de entrevista

Domine Go para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis