Imagine o seguinte cenário:
Você tem um servidor de autenticação que emite tokens JWT para suas aplicações, tanto em produção quanto durante o desenvolvimento local.
Em produção tudo funciona perfeitamente. Mas, durante o desenvolvimento, você começa a enfrentar um problema: ao tentar usar o token recém-gerado, recebe uma resposta de "não autorizado".
Por que isso acontece?
A resposta está no relógio das máquinas. Mesmo uma pequena diferença de segundos entre o horário do servidor e o da sua máquina local pode causar esse tipo de erro.
Exemplo:
- No servidor, o horário é 10:10:10.
- Na sua máquina local, 10:10:00.
Ou seja, há um atraso de 10 segundos.
Quando você solicita um token e tenta usá-lo imediatamente, o sistema entende que o token ainda não é válido, já que o horário atual da sua máquina não atingiu o horário de emissão registrado no token.
Essa pequena diferença é suficiente para gerar o "não autorizado".
Como resolver?
Para contornar esse problema, especialmente quando a diferença é pequena, usamos a propriedade ClockSkew, que define uma tolerância de tempo na validação do JWT.
Basta configurar assim:
Com isso, você permite uma margem de 10 segundos para compensar pequenas diferenças entre os relógios — e seu ambiente de desenvolvimento volta a funcionar tranquilamente.
Comentários
Postar um comentário