The Aegis Security Platform consists of:
- Aegis Backend API - Core security API for device registration and signature validation
- Aegis Portal - Web portal for banks/fintech to manage registration keys
- Demo Bank Backend - Example implementation of a bank backend
- Android SDK & Demo App - Mobile security SDK and demo banking app
- ✅ CORS configuration for cross-origin requests
- ✅ User authentication system
- ✅ Demo users initialized on startup
- ✅ Login endpoint at
/auth/login
- Java 21
- PostgreSQL
- Redis
- Start PostgreSQL and Redis:
# Using Docker
docker run -d --name aegis-postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=aegis -p 5432:5432 postgres:15
docker run -d --name aegis-redis -p 6379:6379 redis:7- Navigate to Aegis directory:
cd /home/uttam/IdeaProjects/aegis- Run the application:
./gradlew bootRunThe API will start on http://localhost:8080
| Password | Role | Organization | |
|---|---|---|---|
| admin@aegis.com | admin123 | ADMIN | Aegis Security |
| bank@ucobank.com | bank123 | USER | UCO Bank |
| fintech@paytm.com | fintech123 | USER | Paytm |
-
Authentication:
POST /auth/login- Login with email/password
-
Admin Endpoints:
POST /admin/registration-keys- Create registration keyGET /admin/registration-keys- List all keysGET /admin/registration-keys/{clientId}- Get specific keyPUT /admin/registration-keys/{clientId}/revoke- Revoke keyPUT /admin/registration-keys/{clientId}/regenerate- Regenerate key
-
Device Endpoints:
POST /v1/register- Register devicePOST /v1/validate- Validate signature
- Navigate to Portal directory:
cd /home/uttam/IdeaProjects/aegis-portal- Install dependencies (if not already done):
npm install- Start development server:
npm run devThe portal will be available at http://localhost:5173
- Login with backend authentication
- Dashboard with key statistics
- Create and manage registration keys
- View and regenerate keys
- Organization profile management
# Terminal 1 - Aegis API
cd /home/uttam/IdeaProjects/aegis
./gradlew bootRun
# Terminal 2 - Bank Backend (optional)
cd /home/uttam/IdeaProjects/backend-app
./gradlew bootRun# Terminal 3
cd /home/uttam/IdeaProjects/aegis-portal
npm run dev- Open
http://localhost:5173 - Use one of the demo credentials:
- Admin:
admin@aegis.com/admin123 - Bank:
bank@ucobank.com/bank123 - Fintech:
fintech@paytm.com/fintech123
- Admin:
- Navigate to "Registration Keys"
- Click "Create New Key"
- Enter Client ID (e.g., "mobile-app-prod")
- Add description
- Optionally set expiration date
- Copy the generated key (shown only once!)
The registration key can be used in the Android SDK for device provisioning.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Aegis Portal │────▶│ Aegis API │◀────│ Bank Backend │
│ (React/MUI) │ │ (Spring Boot) │ │ (Spring Boot) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
▲
│
┌──────┴────────┐
│ Android App │
│ (With SDK) │
└───────────────┘
- CORS Protection: Configured to allow only specific origins
- Password Encryption: BCrypt encryption for user passwords
- Session Management: Stateless JWT-based authentication (basic implementation)
- Key Security: Registration keys shown only once after creation
- HMAC Signing: All API requests from mobile apps are HMAC-signed
-
Production Deployment:
- Replace simple token with proper JWT implementation
- Configure HTTPS/TLS
- Set up proper CORS origins
- Use environment variables for configuration
-
Enhanced Features:
- Email notifications for key expiration
- API usage analytics
- Multi-factor authentication
- Audit logs
-
Mobile Integration:
- Use generated registration keys in Android app
- Implement device provisioning flow
- Test HMAC signature validation
- CORS Issues: Ensure backend is running before starting portal
- Login Fails: Check if backend has initialized demo users
- Database Connection: Ensure PostgreSQL is running on port 5432
- Redis Connection: Ensure Redis is running on port 6379
For issues or questions:
- Check logs in backend console
- Verify all services are running
- Ensure correct ports are available