How safeer-jan/be-nest-authservice works
This is a reusable NestJS authentication service. Clients register or log in through the local auth API to receive an access/refresh-token pair; refresh rotates the opaque token, while logout and password changes revoke sessions. Separate branches support account and profile management, administrative RBAC, and optional AWS Cognito identity flows. The sampled sources establish the core service calls and persistence; several README-documented capabilities have no sampled implementation excerpt, so uncertain internal wiring is omitted.
Main entry points: auth.service.ts Auth service · auth.controller.ts Auth API · users.service.ts Users service · roles.service.ts Roles service
Components 22
Local authentication
- Auth API
src/modules/auth/auth.controller.ts - Auth service
src/modules/auth/auth.service.ts - Token service
src/modules/auth/token.service.ts - Local login guard
src/modules/auth/guards/local-auth.guard.ts
Accounts and RBAC
- Users API
src/modules/users/users.controller.ts - Users service
src/modules/users/users.service.ts - User records
src/modules/users/entities/user.entity.ts - Roles API
src/modules/rbac/roles.controller.ts - Roles service
src/modules/rbac/roles.service.ts - Permissions service
src/modules/rbac/permissions.service.ts - Role records
src/modules/rbac/entities/role.entity.ts - Permission records
src/modules/rbac/entities/permission.entity.ts
Runtime security
- Nest app
src/app.module.ts - JWT guard
src/modules/auth/guards/jwt-auth.guard.ts - Redis service
src/modules/redis/redis.service.ts
External integrations
- Cognito API
src/modules/cognito/cognito.controller.ts - Cognito service
src/modules/cognito/cognito.service.ts - Cognito JWT guard
src/modules/cognito/cognito-jwt.guard.ts - PostgreSQL
- Redis
- AWS Cognito
Other components
- API client
Connections 26
- API client → Auth API: requests auth
- Auth API → Auth service: handles auth
- Auth API → Local login guard: guards login
- Local login guard → Auth service: validates credentials
- Auth service → Users service: loads and creates users
- Auth service → Token service: issues and hashes tokens
- Auth service → PostgreSQL: stores session tokens
- Auth service → Redis service: invalidates cache
- Token service → Auth API: supports token responses
- API client → Users API: requests account changes
- Users API → Users service: manages profiles and roles
- Users service → PostgreSQL: reads and writes users
- Users service → Roles service: looks up assigned roles
- API client → Roles API: requests RBAC administration
- Roles API → Roles service: manages roles
- Roles API → Permissions service: manages permissions
- Roles service → PostgreSQL: reads and writes roles
- Roles service → Permission records: loads permissions
- Permissions service → PostgreSQL: reads and writes permissions
- JWT guard → Redis service: checks revocation
- Redis service → Redis: reads and writes cache
- API client → Cognito API: requests Cognito auth
- Cognito API → Cognito service: handles identity flow
- Cognito API → Cognito JWT guard: guards token check
- Cognito JWT guard → Cognito service: verifies token
- Cognito service → AWS Cognito: authenticates and verifies