@ministerjs/auth
v3.0.1
Published
Biblioteca de autenticacao JWT com dois alvos:
Downloads
43
Readme
@ministerjs/auth
Biblioteca de autenticacao JWT com dois alvos:
- Vue (front) — classe reativa para estado de autenticacao, login, signup, logout, checkIn e roles.
- NestJS (back) — modulo com controllers, guards, RBAC, drivers plugaveis e driver padrao JWT + Prisma + cookies.
Instalacao
pnpm add @ministerjs/authEscolha o subpath conforme o lado da aplicacao:
- Front:
@ministerjs/auth/vue - Back:
@ministerjs/auth/nestjs
Documentacao
Features
Seguranca
- Cookie
secureautomatico em producao - Pinagem de algoritmo HS256 (sign + verify)
- Re-assinatura de JWT no checkIn (evita reuso de tokens antigos)
- CSRF double-submit cookie (opcional)
- Account lockout com janela temporal (plugavel via
LockoutStore) - Rate limiting hook (
onRateLimitCheck) - Audit logging hook (
onAudit)
Autenticacao
- Login com credenciais + comparacao de senha obrigatoria (
comparePassword) - CheckIn (valida sessao ativa via cookie/JWT)
- Logout com limpeza de cookies e revogacao de tokens
- SignUp (Vue)
- Refresh token rotation com
jtie revogacao automatica
Autorizacao
JwtAuthGuard— extrai JWT de cookie ou headerAuthorization: Bearer@Roles()decorator +RolesGuardpara RBACAuthModule.createGuard()factory para instanciar guards
Tipagem
LoginPayload,JwtAccessPayload,JwtRefreshPayload— tipos JWT exportadosAuthenticatedUser— tipo dorequest.userpopulado pelo guardPrismaModelDelegate/PrismaClientLike— tipagem do client PrismaAuthDriver<User>— interface para drivers customizados
Migration v2 → v3
Breaking changes
comparePasswordagora e obrigatorio — nao existe mais fallback para plain-text.AuthPayloadnarrowed — substituido porLoginPayload(Record<string, string>). O aliasAuthPayloadcontinua exportado como deprecated.- Cookie
secure: trueem producao —defaultCookieOptions.secureagora eprocess.env.NODE_ENV === "production". NestJsAuthenticationControllerremovido do@ministerjs/server— use@ministerjs/auth/nestjscomo substituto.
