User identity/authentication/accounts management microservice
Clone or download
Latest commit b669ec4 Jun 4, 2018
Failed to load latest commit information.
examples Handle issue and use of refreshTokens with standard token headers Apr 14, 2018
packages v1.5.2 Jun 4, 2018
.gitignore extract db backend Nov 13, 2017 fix version Jun 4, 2018
LICENSE add license Dec 13, 2017 ooth-roles Feb 9, 2018
lerna.json v1.5.2 Jun 4, 2018
package.json fix on registration bug Jun 4, 2018

OOTH - a user identity management system

Join the Slack Channel!

See the project timeline.


Check out the ultimate ooth documentation wiki!


If you want to integrate this library with a GUI, you might want to check out the sister project Staart.


There are many ways you can use ooth.

Vanilla JS

A good starting point could be this minimal example. Reading through the two files of client and server code is recommended.

Slight variations of the minimal example:


The same minimal example as Vanilla JS, but using Vue.js.

With UI and next.js

The most complete example with a starting UI with all the main user account flow is programmed with next.js and can now be found in the staart project!

With create-react-app

The following two examples use create-react-app as a client. If you don't want to use cra you can still analyze the server folders and the code parts that use ooth-client independently.

  • standalone - ooth runs as a microservice separate from api, auth transfer is done via JWT.
  • integrated - ooth runs in same process as api, no need for JWT.


Core Packages



Client Packages


  • compose-next: utility to create providers that handle getInitialProps of children


Via yarn:

yarn global add lerna
cd ooth
yarn run bootstrap

Via npm:

npm i -g lerna
cd ooth
npm run bootstrap

Feature requests, Bugs, Contributions

Start an issue.


Support the development of this project on Patreon.