a12n-server
a12n-server copied to clipboard
An open source lightweight OAuth2 server
Authentication API
This package aims to provide a simple authentication system. The goal is to provide a simple authentication system for developers considering building their own.
The project implements OAuth2 standards where applicable.

Requirements
- Node.js 14.x
- MySQL
Try it out!
You can quickly get a test server up and running by running these commands:
mkdir a12n-server
cd a12n-server
npx @curveball/a12n-server
This will automatically create a configuration file and sqlite database in the current directory.
Then, just open http://localhost:8531/ to create your admin account.
Features
- A simple browseable API.
- OAuth2
- Supported grants:
implicit,client_credentials,authorization_codeandpassword. - OAuth2 discovery document.
- PKCE.
- OAuth 2 Token Introspection.
- JSON Web Key Sets.
- OAuth2 Token Revocation
- Supported grants:
- MFA
- Google Authenticator (TOTP).
- WebauthN / Yubikeys
- A simple, flat, permission model.
- Registration, lost password.
secret-token:URI scheme
Documentation
Check out the Docs folder
The state of this project
If you are thinking of building a new authentication system, and decide to use this project instead, you get a lot of features for free.
The project has been used in production since 2018 and is still actively developed.