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.
- Node.js 18.x
- MySQL, Postgres or Sqlite
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.
- A simple browseable API.
- OAuth2
- Supported grants:
implicit
,client_credentials
,authorization_code
andpassword
. - OAuth2 discovery document.
- PKCE.
- OAuth 2 Token Introspection.
- JSON Web Key Sets.
- OAuth2 Token Revocation
- RFC 9068 - JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens.
- OAuth 2.0 Multiple Response Type Encoding Practices
- Supported grants:
- MFA
- Google Authenticator (TOTP).
- WebauthN / Yubikeys
- A simple, flat, permission model.
- Registration, lost password.
secret-token:
URI scheme
Check out the Docs folder
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.