# 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.

- **Exhibit:** C
- **Kind:** Identity Provider
- **Role:** Backend developer, team Brogrammers
- **Status:** Completed
- **Stack:** Java, Spring Boot, Spring Authorization Server, OpenID Connect, OAuth 2.1 / PKCE, Spring Security, Spring Cloud Gateway, OpenFeign, PostgreSQL, Thymeleaf, Docker
- **Source:** https://github.com/WE-BROGRAMMERS/one-id-nepal
- **Canonical page:** https://dahalutsab.com.np/case-files/one-id-nepal

## 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.

## What it does

- OpenID Connect authorization server (authorization code + PKCE)
- Consent screen — the citizen approves each scope an app requests
- Developer portal for registering client applications and redirect URIs
- Scope-gated identity records: national ID, citizenship, passport, licence
- JWT ID tokens with a custom claim set, verifiable by any OIDC client
- API gateway fronting the auth and resource servers
- Per-service Dockerfiles and a Compose stack for the whole platform

---

Source: https://dahalutsab.com.np/case-files/one-id-nepal
From The Utsab Dahal Times — the record of Utsab Dahal, Backend Developer — Spring Boot & DevOps, Kathmandu, Nepal.
Full record: https://dahalutsab.com.np/llms-full.txt
