Skip to content

meili-NG/meiliNG.js

Repository files navigation

meiliNG

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.


What is meiliNG?

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.

Why should I use meiliNG?

Unbeatable customizability

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.

Written in Node.JS

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.

Built for Modern Infrastructures

meiliNG supports Docker, PM2 out of the box. You just need to run it whatever you want*.

Modern but compatible

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.

Built to secure

meiliNG contains several security features such as:

  • XSRF Token Support
  • PKCE Support
  • JWKS Support

Easy and Familiarity

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.

Documentations

These are the documentations for helping you try meiliNG on your hands!

License

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