<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Libre+Franklin:wght@400..800&family=JetBrains+Mono:wght@400;500;700&display=swap" />
Late edition Stop the presses

Suspect at large

A backend developer is fleeing the scene. The record is being set.

Setting the type Inking the plates Running the presses

Skip to the front page
Kathmandu, NepalThe Backend EditionEst. 2021

The personal record of a backend developer

Wednesday 5 August 2026Vol. ISelected works & notesPrice: one coffee
← Back to the evidenceCase file · Exhibit C

Identity Provider

One ID Nepal

A National Identity Provider for Nepal

A centralized identity platform that lets any Nepali service offer "Sign in with One ID" the way it would offer Google or Facebook — with the citizen deciding what each app is allowed to read.

Filed under
Identity Provider
Role
Backend developer, team Brogrammers
Status
Completed
Stack
11 technologies

The brief

One ID Nepal treats government identity the way the web treats social login. Instead of every portal building its own signup, storing its own copy of a citizenship number and losing it in its own breach, an application redirects to One ID, the citizen authenticates once, and the application receives only the claims it was granted — conceptually the Nagarik App extended into an identity provider other services can build on.

The build is three Spring Boot services behind a gateway: an authorization server implementing OpenID Connect on top of Spring Authorization Server, with a login and a consent screen where the citizen sees exactly which records an app is asking for; a developer portal where a third party registers an application and receives client credentials and redirect URIs; and a resource server holding the identity records themselves — person, national ID, citizenship, passport and driving licence — each behind its own OAuth scope.

Because it speaks standard OIDC, an integrating application needs no custom SDK: any existing OAuth client library works, the ID token is a normal JWT, and scopes are the only vocabulary a developer has to learn. Built as a hackathon project by team Brogrammers.

The findings

  1. 01

    OpenID Connect authorization server (authorization code + PKCE)

  2. 02

    Consent screen — the citizen approves each scope an app requests

  3. 03

    Developer portal for registering client applications and redirect URIs

  4. 04

    Scope-gated identity records: national ID, citizenship, passport, licence

  5. 05

    JWT ID tokens with a custom claim set, verifiable by any OIDC client

  6. 06

    API gateway fronting the auth and resource servers

  7. 07

    Per-service Dockerfiles and a Compose stack for the whole platform

Backend developer specializing in Java and Spring Boot. Building scalable, reliable systems that power modern applications. This broadsheet is hand-set in Caslon and Franklin.

The desk

Tech stack

  • Java & Spring Boot
  • MySQL & PostgreSQL
  • Docker & Microservices
  • JWT & OAuth2
Case closed

System up since 2021 · Building backend systems · Learning new technologies · Contributing to open source

© 2026 Utsab Dahal · All rights reserved · Printed in Kathmandu