Files
B2BCall-dialer/packages/auth/package.json
Matheus 70c5586595 feat: implement authentication and RBAC
- packages/auth: Argon2id password hashing, JWT access tokens (jose),
  opaque refresh tokens with rotation, generic error messages (no
  user-enumeration via timing or message differences)
- roles/permissions/role_permissions/user_roles/sessions/audit_logs schema
  (agente.md secoes 142-150); RBAC scope PLATFORM vs TENANT
- withUserContext(): narrow RLS exception so a user can discover their own
  tenant_memberships before a tenant is chosen (login flow)
- userHasPermission()/isPlatformUser(): explicit service-layer RBAC checks
  (roles/permissions tables are not RLS-protected — documented why in
  docs/AUTHENTICATION.md)
- seed: permission catalog, 4 system roles, initial Platform Super Admin
  (password written once to FIRST_LOGIN.txt, 600, outside Git)
- automated end-to-end test: login, RBAC check, refresh rotation, logout
2026-08-28 05:58:49 -03:00

22 lines
456 B
JSON

{
"name": "@b2bcall/auth",
"version": "0.0.1",
"private": true,
"main": "src/index.ts",
"types": "src/index.ts",
"scripts": {
"typecheck": "tsc --noEmit",
"seed": "tsx src/seed.ts",
"test:auth": "tsx src/__tests__/auth.test.ts"
},
"dependencies": {
"@b2bcall/database": "workspace:*",
"@node-rs/argon2": "^2.1.0",
"jose": "^6.2.10"
},
"devDependencies": {
"tsx": "^4.23.12",
"typescript": "^5.7.0"
}
}