IAM System

Spring BootJavaJWT RS256RedisRabbitMQPostgreSQLDocker

Spring Boot microservices IAM system built for a university information system. Handles authentication and authorisation across multiple client applications.

Technical Approach

  • JWT RS256 — asymmetric key signing. Tokens carry claims; the gateway verifies them without a database round-trip
  • RBAC — role-based access control for students, staff, and administrators
  • Redis — token blacklisting on logout and manual revocation. Invalidated tokens are rejected before they expire
  • RabbitMQ — async event bus. Auth events fan out to an audit log service without coupling the auth path to storage writes
  • PostgreSQL — user, role, permission, and audit data
  • Docker Compose — full local stack in one command