OpenMRS already has a fully functional backend module for handling authentication called OpenMRS-Authentication-Module. It supports several authentication schemes, including BasicWebAuthenticationScheme, TOTPAuthenticationScheme, and TwoFactorAuthenticationScheme, among others.
However, there is currently no bridge between the O3 frontend and this authentication module. The goal of this project is to build that bridge by connecting O3 to the powerful authentication capabilities the module already provides, and in doing so, significantly strengthening the security of the OpenMRS system.
This project is part of Google Summer of Code 2026.
Selected Contributor | Primary Mentor | Secondary Mentor |
|---|---|---|
@Dilan Gamage | @Jayasanka Weerasinghe | @janithrs |
Status: in development
Project Size: Medium
OpenMRS Talk Discussion : Click HERE
What This Project Involves
Learn: 1. Understand the existing OpenMRS Authentication Module and how it works.
2. Familiarize myself (Dilan) with development in O3.Design: Plan the authentication flow and UI interactions.
Build: Develop the bridge between O3 and the Authentication Module by implementing frontend support for TwoFactorAuthenticationScheme and related flows.
Test: 1. Verify that authentication flows work correctly end-to-end.
2. add automated frontend E2E tests.
Final Deliverables
A working 2FA flow integrated into the O3 login experience
Frontend support for TwoFactorAuthenticationScheme via the Authentication Module
A new backend endpoint to configure the authentication scheme
Automated E2E test coverage for the happy-path authentication flow
Documentation for future contributors
Roadmap
This Roadmap will marked by my mentors.
Milestone 01 - Foundation | |||
|---|---|---|---|
Task | Status | Target | Links |
Redirect on the session endpoint |
| Jun 24, 2026 | |
Get the old module running with TOTP
|
| Jun 24, 2026 | |
Milestone 02 - API Development | |||
Task | Status | Target | Links |
Design discussion |
| Jun 24, 2026 | |
Design approval |
| Jun 29, 2026 | |
Hello World endpoint |
| Jun 24, 2026 | |
QR endpoint (Create TOTP Enrollment)
|
| Jul 1, 2026 Jun 27, 2026 | |
Verify TOTP Enrollment endpoint
|
| Jul 1, 2026 Jun 29, 2026 | |
TOTP manage endpoints + UI
| Jul 27, 2026 | ||
Milestone 03 - Frontend (O3) | |||
Post on the ux slack channel |
| Jun 24, 2026 | |
Get the approval for UIs |
| ||
TOTP Enrollment (QR + verify enrollment)
| Jul 21, 2026 | ||
TOTP step during login | Jul 23, 2026 | ||
Remember Browser option | Jul 23, 2026 | ||
Milestone 4 — Future Authentication Schemes | |||
Location | |||
Security Q, etc | |||
A Living Document
This wiki is a work in progress, updated each week alongside the project. Details will be refined and expanded as development moves forward.