Pular para o conteúdo principal

Questão de TI - Desenvolvimento de Sistemas — JSON (JavaScript Object Notation) — FCC 2026

TI - Desenvolvimento de SistemasJSON (JavaScript Object Notation)
Código
fc142207
Banca
FCC
Órgão
SEFAZ SP
Ano
2026
Cargo
AFRE ( )

Uma instituição expôs uma API RESTful protegida por JWT com várias instâncias atrás de um balanceador, em que o login gera access token de 2 horas, que é validado em cada requisição por meio da assinatura da data de expiração e das claims de roles. Porém, após um incidente de credenciais vazadas, a equipe detectou que, mesmo após o usuário trocar a senha, os tokens antigos continuam válidos até expirarem inclusive em diferentes serviços que compartilham a mesma chave de assinatura. Para que a equipe possa mitigar esse problema mantendo a escalabilidade e o modelo stateless da API, a estratégia mais adequada é

  1. Aadicionar no payload do JWT um campo "revogado false" e atualizar esse campo para true no banco, deixando que as APIs leiam o token e confiem no valor recebido.
  2. Bgravar todos os JWT emitidos em uma tabela relacional e validar cada requisição consultando essa tabela, garantindo revogação imediata ao excluir o registro do token.
  3. Cusar access tokens de curta duração combinados com refresh tokens e uma claim de versão de credencial, invalidando tokens quando a versão do usuário muda ao validar o JWT nas APIs.
  4. Daumentar o tempo de expiração do JWT e rotacionar a chave de assinatura com mais frequência, levando os clientes a refazer login quando a chave for alterada.
  5. Eincluir no JWT a senha hash do usuário e rejeitar tokens cujo hash não coincida com o valor atual no banco, garantindo que a troca de senha invalide automaticamente os tokens antigos.
Revelar gabarito e comentário

GabaritoC — usar access tokens de curta duração combinados com refresh tokens e uma claim de versão de credencial, invalidando tokens quando a versão do usuário muda ao validar o JWT nas APIs.

Link permanente: /questoes/fc142207