Small authentication/profile prototype for Codebar.
For login or registration via GitHub to work, you have create an oauth2 application. Fetch client id and secret and setup the .envrc from included example (in .envrc-dist).
Then export GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET into the environment. We recommend using direnv.
For a new run the following:
npm ci
npm run db:generate
npm run db:migrate
npm run devTo update your local copy:
npm ci
npm run db:migrate
npm run devView the application:
open http://localhost:3000- data is saved in a sqlite database
- the app currently supports username/password, magic-link and (sign-in with) passkey
- for magic-link, inspect the log to fetch the URL
Once the application is running, you can try out the the following flows:
- sign-up
- sign-in (username/password, passkey)
- add passkey
In addition /admin hosts a very basic admin ui (list user, update roles).
There's an additional application (mounted in this setup), that would demonstrate how to determine if a user is logged in.
open http://localhost:3000/demo