Skip to content

rocky-jaiswal/auth-service

Repository files navigation

Auth Service

What is this?

Basically a fast Node.js based JWT service, which also supports Google OAuth. I use it for a lot of personal projects to solve authentication.

Setup

  1. Run node bin/generateKeyPair.mjs <environment> to generate JWT signing keys and update src/public/.well-known -> "jwks.json"
  2. Copy secret omitted from command above (keyid & key password) in "secrets/<environment>.env" (e.g. secrets/development.env)
  3. Generate a strong secret/password somehow (e.g. crypto.randomUUID().replaceAll('-', '').substring(0, 16))
  4. Run node bin/lockSecret.mjs <environment> <secret> to encrypt secrets, use secret/password from step 3 here (encryption uses Node GPG)
  5. Run DB with docker-compose up --build
  6. Run just dev to start service in dev mode (DB is already running on docker)
  7. For testing make sure DB is up (via docker-compose) and run just test

Common HTTP requests (using HTTPIE)

  • http POST http://localhost:9090/v1/users email="[email protected]" password="123456" confirmedPassword="123456"
  • http POST http://localhost:9090/v1/sessions email="[email protected]" password="123456"
  • http GET http://localhost:9090/v1/user authorization:"token <jwt>"

About

Generic Auth / JWT service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published