Skip to content

A self-service management system for the OpenMRS ID single sign on identity.

Notifications You must be signed in to change notification settings

openmrs/openmrs-contrib-id

Repository files navigation

OpenMRS ID

Build Status Codacy Badge Code Climate Dependencies Status devDependencies Status OpenMRS Talk OpenMRS IRC OpenMRS Telegram

User signup and self-service web application, built for OpenMRS, now running at id.openmrs.org. Integrates with an LDAP server and MongoDB to store user data. Built on Node and Express.

Development:

Want to dig your hands in and lend a hand? Please read our development guide.

Installation (development and production):

See installing-openmrsid.md

Features:

  • Simple user self-service for an OpenLDAP user directory, including:

    • Signup - supporting email address verification, reCAPTCHA anti-spam forms, and welcome mail
    • User profile changes - editing first/last name, email, password; adding multiple email addresses
    • Password resets - reset by username or email address, send to all emails linked to a user
  • Modular system for adding new functionality, see Modules section

  • Form validation and control

  • Designed with the visual style of openmrs.org in mind :)

Modules:

A few modules (providing additional functionality) have been created. They can be placed in app/user-modules and loaded from conf.js.

These modules will be included by default using the development environment described earlier in this document.

Why We Built It:

OpenMRS's developer community was in need of unification between the tools hosted at openmrs.org and elsewhere. With contributors needing separate accounts to submit code, edit the wiki, and join mailing lists (for example), the amount of user fragmentation between tools kept growing. People new to the OpenMRS community tended to be a little confused, having to manually manage profiles across very visually-disconnected sites. Ultimately, we wanted one ID, everywhere.

Server Requirements:

  • Node.js versions 6, it does not work with Node 7.
  • LDAP directory (tested with OpenLDAP), additionally supporting extensible objects and password policies
  • MongoDB database
  • SMTP access

License:

Licensed under MPL 2.0 HD