feat: enhance authentication and user management with token-based system
- Implemented robust token-based authentication with access and refresh tokens - Added JWT token generation, verification, and rotation mechanisms - Created services for token management, Memcached, and MinIO storage - Enhanced user registration and login with device-specific tokens - Added support for profile picture upload and management via MinIO - Implemented secure password hashing with crypto - Updated Prisma schema to support refresh tokens and profile picture storage - Added GraphQL mutations for logout, token refresh, and profile picture handling - Integrated environment configuration with Zod validation - Improved error handling and authentication middleware
This commit is contained in:
parent
d4d99fb5e7
commit
d29d116214
22 changed files with 1992 additions and 388 deletions
|
@ -6,12 +6,21 @@ services:
|
|||
container_name: unreal-chat-api
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- DATABASE_URL=${DATABASE_URL}
|
||||
- JWT_SECRET=your-secret-key
|
||||
- API_PORT=4000
|
||||
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS}
|
||||
- API_HOST=${API_HOST}
|
||||
- API_PORT=${API_PORT}
|
||||
- COOKIE_SECRET=${COOKIE_SECRET}
|
||||
- DATABASE_URL=${DATABASE_URL}
|
||||
- MEMC_HOST=${MEMC_HOST}
|
||||
- MEMC_PORT=${MEMC_PORT}
|
||||
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
|
||||
- MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME}
|
||||
- MINIO_ENDPOINT=${MINIO_ENDPOINT}
|
||||
- MINIO_PORT=${MINIO_PORT}
|
||||
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
|
||||
- MINIO_USE_SSL=${MINIO_USE_SSL}
|
||||
- NODE_ENV=production
|
||||
- TOKEN_SECRET=${TOKEN_SECRET}
|
||||
networks:
|
||||
- default-network
|
||||
|
||||
|
@ -31,9 +40,7 @@ services:
|
|||
networks:
|
||||
- default-network
|
||||
|
||||
volumes:
|
||||
db_data:
|
||||
|
||||
networks:
|
||||
default-network:
|
||||
external: true
|
||||
default:
|
||||
name: default-network
|
||||
external: true
|
Loading…
Add table
Add a link
Reference in a new issue