ManyWho Identity Service

by manywho


ManyWho Identity Service

Build Status

This service offers a very basic identity provider for your flows, giving support for authentication and a tenant-specific user and group directory.


If you need to, it's easy to spin up your own instance of the service if you follow these instructions:


You will find the required schemas for the supported databases in the src/main/sql folder.


The available configuration settings for the application are:

  • DATABASE_URL: A JDBC connection string, e.g. jdbc:postgresql://localhost/service-identity

Environment Variables

You will have to configure the application at runtime by using environment variables, so you will need to run the application like this:

$ DATABASE_URL=jdbc:postgresql://localhost/service-identity DATABASE_USERNAME=postgres DATABASE_PASSWORD=password java -jar target/identity-*.jar


To build the application, you will need to have Maven 3 and a Java 8 implementation installed (OpenJDK and Oracle Java SE are both supported).

Now you can build the runnable shaded JAR:

$ mvn clean package


The application is a RestEASY JAX-RS application, that by default is run under the Jetty server on port 8080 (if you use the packaged JAR).


Running the following command will start the service listening on

$ java -jar target/identity-*.jar


The service is compatible with Heroku, and can be deployed by clicking the button below:

Deploy to Heroku


Contributions are welcome to the project - whether they are feature requests, improvements or bug fixes! Refer to for our contribution requirements.


This service is released under the MIT License.