Ahmad Ma'ruf

Waktoo Super App - Unified Authentication Across Multiple App

Overview

At Waktoo (part of Kazee), we developed three SASS products, Waktoo CRM, Waktoo HRM, and Waktoo Commerce.

Later, we began building the Waktoo Super App - a unified platform that brings all three products into a single seamless experience.

One of the biggest technical challenge was authentication. Each product had its own JWT-based API authentication system. We needed a centralized authentication system that worked across all products without breaking existing authentication flows.

The Problems

The Solutions

I designed and implemented the SuperApp Authentication Service, which introduced:

This solution provided the foundation for the Super App — unifying authentication without disrupting existing products.

Architecture & Flows

Authentication Flow Diagram

The SuperApp Authentication Service issues JWTs signed with RS256 (asymmetric encryption). Each service validates tokens using only the public key, enabling independent verification without relying on network calls to the issuer.

Here’s how the flow works in practice:

  1. Login - Users authenticate through the Super App portal.
  2. Token Issuance - On success, the system issues a signed JWT containing identity and claims (e.g., sub, roles, exp).
  3. Token Usage - Clients attach the token to API requests using the Bearer scheme.
  4. Verification - Each product verifies the JWT signature with the public key and checks validity (expiry, claims, etc.).
  5. Access - If valid, access is granted; otherwise, the request is rejected.

Waktoo Super App Token

Impact

By consolidating authentication into a JWT-based SSO system, we solved the problem of fragmented sessions and inconsistent login flows.

Key improvements:

#portfolio #backend #php #laravel #auth

← Back To Portfolio

Reply to this post by email ↪