Integrated Emis Login -
const token = jwt.sign( sub: user.id, role: user.role , process.env.JWT_SECRET, expiresIn: '1h' );
integrated_apps: id app_name (e.g., attendance, grading) app_secret (for service-to-service) redirect_uris (JSON) POST /api/v1/auth/login
Request:
"identifier": "student@school.edu", "password": "secure123", "device_id": "optional"
Each sub-system (fees, attendance, etc.) validates the same JWT: integrated emis login
Authorization: Bearer <same_jwt_from_login>
await saveSession(user.id, token);
Response: