Emite e valida JWT HS256 sem biblioteca, checando exp, nbf, iat, iss e aud com tolerância de relógio e recusando alg none. Autenticação de API que roda até na edge.
Ver ao vivo, com preview e manual: https://flowcoresolucoes.com.br/codigos/jwt-hs256
Criado por FlowCore Soluções LTDA.
-
Funciona onde você já roda Node 18+, Cloudflare Workers, Deno, Bun, Vercel e Netlify Functions. Zero dependência: só fetch e Web Crypto, que já vêm no runtime.
-
Crie src/lib/jwt.ts Copie o conteúdo de
src/jwt.tsesrc/jwt.test.tsdeste repositório. -
Use
const token = await assinarJwt({ papel: "admin" }, env.JWT_SECRET, { expiraEm: "15m", emissor: "api.empresa.com.br", assunto: "u_123", }); const r = await verificarJwt(token, env.JWT_SECRET, { emissor: "api.empresa.com.br" }); if (!r.valido) return new Response(r.motivo, { status: 401 }); -
Rode o teste junto O arquivo de teste (
src/jwt.test.ts) cobre 9 cenários. Copie para src/lib/ ao lado e rode:npm install -D vitest npx vitest run src/lib
src/jwt.test.ts cobre 9 cenários.
npm install
npm testMIT. Pode usar em projeto pessoal ou comercial, de graça. A única condição é manter a linha “Criado por FlowCore Soluções LTDA” (ou o crédito de adaptação) onde ela está.
Precisa disso integrado no seu sistema? A FlowCore desenvolve sob medida.