meiliNG: Easy Identity/Login Infrastructure, Next Generation
Roadmap: Currently planning to create a "Go" version of the meiliNG for further performance boost! APIs will be backwards compatible with meiliNG.js.
Named after a Gatekeeper in Touhou Project, (pronounced: meh-i-ling)
meiliNG is an easy-to-use "next generation" identity/login provider that supports oAuth2 and OpenID Connect specs designed for customization and tweakability from ground-up.
meiliNG just gives you session token, everything you do on the front-end is totally free for you*.
Just follow the API Specs and You can use whatever front-end design you want.
* Conditions apply, In order to use full compatibility meiliNG provides with OpenID, you need to follow some specs.
meiliNG is written in Node.JS and TypeScript, that you can understand easily. Tweak it whatever you want.
Extensible Database with Prisma
meiliNG utilizes Prisma, an ORM designed for Node.JS and TypeScript that you can easily extend databases. You can modify and extend databases whatever you want*.
* Conditions apply, Customizing Database Schema can lead to drift if later versions of meiliNG uses different schema, In that case you need to create migrations manually.
meiliNG supports Docker, PM2 out of the box. You just need to run it whatever you want*.
meiliNG provides Modern APIs, but also provides great compatibility* with oAuth2 and OpenID specifications**.
* Your mileage may vary due to your server configuration. Also, meiliNG is not finalized yet. expect bugs.
** meiliNG is not OpenID Certified at the moment. Please refer to Issue #16 for more information.
meiliNG contains several security features such as:
- XSRF Token Support
- PKCE Support
- JWKS Support
meiliNG's API Structure was designed after Google's oAuth2 API.
If you are familiar with it, Using meiliNG needs just a little code change.
These are the documentations for helping you try meiliNG on your hands!
- API Docs: https://documenter.getpostman.com/view/14310965/TWDXnc3q
- Install Guide: ./INSTALL.md
Distributed under MIT License.
If the MIT License does not cover you, You can use Hakurei Reimu Public License instead. (EXT_LICENSE) An Open-Source License considering all-beings (such as AI, like GitHub Copilot)
You can activate License Extension by following this file: APPLY_EXTENSION.md