Passar para o conteúdo principal

Como solucionar erros relacionados a JWT

Erros comuns de JWT e como corrigi-los para autenticação.

JWTs são tokens digitais que verificam com segurança a identidade do usuário. No Fin, cada JWT confirma que um usuário é quem afirma ser e permite comunicação criptografada entre cliente e servidor.

Tokens inválidos ou payloads incorretos podem impedir a autenticação bem-sucedida, gerando erros 400 ou bloqueando tentativas de login.


Corrigindo erros 400 para logins de usuários identificados

Um erro 400 normalmente significa que o JWT é inválido ou foi criado incorretamente. Siga estes passos para resolver:

  1. Use uma biblioteca JWT confiável.
    Gere JWTs por usuário usando uma biblioteca padrão do setor e assine-os com seu Messenger API Secret.

  2. Verifique o payload.
    O payload do JWT deve incluir campos exatamente como esperado pelo SDK.

    • Exemplo: Certifique-se de que o campo user_id use a capitalização e formato corretos.

  3. Combine o token com o usuário.
    Cada JWT deve corresponder ao usuário correto. Passar um token gerado para outro usuário causará um erro.

Nota: Quando o SDK detecta um JWT inválido, ele bloqueia tentativas de login para proteger a segurança da conta. Verifique sua configuração de token se os erros persistirem.


Corrigindo problemas de login de usuários não identificados

Logins não identificados exigem uma sessão limpa e nova. Se um JWT inválido permanecer ativo, logins não identificados podem falhar. Tente o seguinte:

  1. Limpe sessões anteriores.
    Faça logout ou limpe completamente a sessão existente no SDK.

  2. Inicie uma nova sessão.
    Reinicialize o fluxo de login usando:

    Intercom.loginUnidentifiedUser()

Isso redefine o ambiente da sessão e garante um login não identificado sem conflitos.


Melhores práticas

  • Mantenha sessões isoladas. Sempre limpe sessões antigas antes de iniciar uma nova tentativa de login.

  • Valide JWTs no servidor. Use lógica de verificação para confirmar a integridade do token antes de enviá-lo ao SDK.

  • Roteie secrets da API periodicamente. Isso ajuda a manter a segurança e reduzir o risco de tokens comprometidos.

  • Monitore logs de autenticação. Revisar logs de login falhos pode ajudar a identificar problemas recorrentes de formatação ou tempo do JWT.


Perguntas frequentes

Por que meu JWT é rejeitado mesmo parecendo válido?

Mesmo pequenas discrepâncias (como capitalização ou formatação no user_id) podem tornar um JWT inválido. Certifique-se de que a estrutura do payload e o segredo de assinatura estejam exatamente alinhados com os requisitos do SDK.

Posso reutilizar um JWT para várias sessões?

Não. JWTs são destinados para uso único ou sessões curtas para aumentar a segurança. Sempre gere um novo token para cada login.

Como testar se um JWT é válido?

Use um decodificador JWT (como jwt.io) para inspecionar a estrutura do payload e confirmar que inclui o user_id e a assinatura corretos.

Respondeu à sua pergunta?