Infraestrutura open source de autenticação e autorização baseada em OIDC e OAuth 2.1, com multi-tenancy, SSO corporativo e RBAC para apps SaaS e de IA.
jwtk/jjwt
Biblioteca Java para criar, analisar e verificar JSON Web Tokens (JWT) e JSON Web Keys (JWK) na JVM e no Android.
- Estrelas
- 11,144
- Forks
- 1,401
- Issues abertas
- 49
- Último commit
- mês passado
O que é?
JJWT é uma implementação puramente Java das especificações JOSE para JSON Web Tokens, que abrange os formatos assinados (JWS), criptografados (JWE) e de chaves (JWK). O objetivo é simplificar a criação e a verificação de tokens, com uma API builder fluente e verificações de segurança automáticas.
A biblioteca oferece suporte a todos os algoritmos padrão de assinatura JWS (HMAC, ECDSA, RSA e EdDSA), além dos algoritmos de criptografia e gerenciamento de chaves do JWE. É possível validar claims como expiration e not-before durante o parsing, e os payloads podem ser compactados. Objetos de claims podem ser serializados com Jackson ou Gson.
O JJWT funciona com Java 8+ e Android. O módulo de API é a única dependência de compilação, enquanto a implementação e o processador JSON são declarados como dependências de runtime. A documentação também inclui configurações para Maven e Gradle e regras do Android ProGuard.
Recursos principais
- 01Cria, analisa e verifica JWTs assinados (JWS) com os algoritmos HS, ES, RS, PS e EdDSA.
- 02Oferece suporte à criptografia e descriptografia JWE com algoritmos padrão de AEAD e gerenciamento de chaves.
- 03Cria, analisa e verifica JSON Web Keys para tipos de chave comuns em Java.
- 04API builder fluente, projetada para oferecer preenchimento automático na IDE.
- 05Validação de claims e serialização de POJOs com Jackson ou Gson.
Casos de uso
- Emitir e verificar tokens de acesso em um serviço backend Java ou Spring.
- Adicionar autenticação baseada em tokens a um app Android.
- Criptografar claims confidenciais dentro de um token com JWE.
- Publicar ou consumir conjuntos de JSON Web Keys em uma integração de identidade.
Antes de usar
- A serialização e a análise de JWS em formatos diferentes do compacto não são compatíveis.
- PS256/PS384/PS512 exigem Java 11 ou posterior, ou um provedor JCA compatível, como o BouncyCastle.
- As chaves EdDSA e XDH exigem Java 15 ou posterior, ou um provedor JCA compatível, como o BouncyCastle.
Em coleções
Tópicos
Perguntas frequentes
- O que é jjwt?
- Biblioteca Java para criar, analisar e verificar JSON Web Tokens (JWT) e JSON Web Keys (JWK) na JVM e no Android. JJWT é uma implementação puramente Java das especificações JOSE para JSON Web Tokens, que abrange os formatos assinados (JWS), criptografados (JWE) e de chaves (JWK). O objetivo é simplificar a criação e a verificação de tokens, com uma API builder fluente e verificações de segurança automáticas.
- jjwt é gratuito? Qual é a licença?
- jjwt é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- jjwt ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de jjwt foi em 4 de out. de 2026.
- Para que posso usar jjwt?
- Emitir e verificar tokens de acesso em um serviço backend Java ou Spring. Adicionar autenticação baseada em tokens a um app Android. Criptografar claims confidenciais dentro de um token com JWE. Publicar ou consumir conjuntos de JSON Web Keys em uma integração de identidade.
- Onde consigo jjwt?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jwtk/jjwt
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Pacote de autenticação JWT para Laravel e Lumen que emite e valida JSON Web Tokens para login em APIs.
Servidor de autenticação e gerenciamento de usuários escrito em Go que emite JWTs e dá suporte ao Supabase Auth.
SDKs oficiais de JavaScript do Clerk, um serviço hospedado para cadastro, login e gerenciamento de perfis em apps web.
Provedor de identidade leve, escrito em Rust, para Single Sign-On via OpenID Connect, OAuth 2 e PAM, com forte foco em passkeys.
Framework Java de autenticação e autorização com login, permissões, SSO, OAuth2, JWT e assinatura de API para Spring e outras stacks web.