TL;DR Just a simple server that issues JWT's after a successful authentication. Think of it as a self written keycloak server (but without really implementing/ following any authentication standards such as OIDC, OAUTH etc...).
This repository contains a multi realm/ multi tenant based auth server written fully in TypeScript with the Expressjs framework. The auth server supports SSO/ SLO, external provider (google/ twitter/ facebook) and basic authentication (username/ password). Multiple applications that are running withing the same Realm are considered RealmApplications in this context. Each RealmApplication has an clientID and the users associated to the RealmApplication can also use the same credentials to login into other RealmApplications as long as they are withing the same general Realm.
Example:
Realm => MySuperAwesomeCompany
RealmApplication => APP1, APP2, APP2, APP4...
Good for microservice architectures (if you have multiple services that you need to authenticate with each other).
This server also contains a custom (next.js with express server) next.js application that has some build in Auth pages (Login/ Register/ Password reset etc...). Access these pages by by adding the 'client_id' and 'redirect_uri' as query params.
- (optional)
> docker-compose up database- Install all node packages
> npm install- Start the dev server
> npm run devBy Default this will create an admin Realm where you can easily connect to and start creating other realms/ applications.
Admin Client can be found here
Well just use Docker :)
> docker-compose upTBD
TBD
TBD
This project is experimental, use at your own risk. The project was developed in my free time as a way to learn Express/ TypeScript.