This project is a fully featured auth system built on Remix. It is intended to be a starting point for Remix projects needing auth systems.
This project uses a combination of short-lived access tokens (JWTs) and long-lived sessions stored in a DB. This provides a foundation for advanced features not seen in simpler token based authentication.
Users can see all logged in devices and revoke access to unrecognized devices in one click. After the short-lived access token expires (configurable to seconds or minutes) that session will be redirected to the login page.
Users can enable MFA using a QR code and authenticator (TOTP aka temporary one time password). If a user has MFA enabled they will be prompted for the token on login and when updating their password.
Users will recieve an email (currently logged to the console for simplicity) with a link to verify their email after signing up.
Users can recieve an email with a link valid for 24 hours (configurable) to reset their password.