A serverless progressive web application that generates TOTP and HOTP codes, offering robust two-factor authentication (2FA) directly within your browser.
- Credentials:
admin
-Admin@123$
Note
This project is currently under testing and improvements. Please back up your data before proceeding.
You can deploy this project on your Cloudflare account for free with zero configuration using NuxtHub. You can use either the NuxtHub CLI or the NuxtHub Admin Web UI. Simply select your GitHub account, set the required environment variables, and you're done. You now have your own authenticator.
π Serverless: Fully leverages edge support, eliminating the need for server maintenance. Deploy on Cloudflare Pages for free.
βοΈ Compatibility: Supports TOTP
(Time-Based One-Time Password) and HOTP
(HMAC-Based One-Time Password), widely used for two-factor authentication.
βοΈ Theming: Built with Nuxt UI v3, offering light and dark themes with customizable accent colors and more.
π« Icons: Fetches icons directly from Iconify, providing a vast collection from various icon sets.
π Secure: Utilizes nuxt-auth-utils
for authentication, supports passkeys for secure access, and encrypts database fields for enhanced security.
ποΈ Backup / Restore: Securely backup and restore authenticators with encryption seamlessly.
# required
NUXT_SESSION_PASSWORD="your-32-char-super-long-secret-for-session-encryption"
NUXT_AUTH_USERNAME="admin"
NUXT_AUTH_PASSWORD="Admin@123$"
# optional
NUXT_DB_ENCRYPTION_PASSWORD="your-32-char-super-long-secret-for-db-encryption"
-
NUXT_SESSION_PASSWORD
: This password is used bynuxt-auth-utils
to secure your session. It must be at least 32 characters long. -
NUXT_AUTH_USERNAME
: The username for authentication. It must be at least 5 characters long. -
NUXT_AUTH_PASSWORD
: The password for authentication. It must be at least 8 characters long and include:- One uppercase letter
- One digit
- One lowercase letter
- Two special characters
NUXT_DB_ENCRYPTION_PASSWORD
: This password is used to encrypt and decrypt the database field ofsecretkey
. By default, no encryption is used for data stored in the database. You can enable encryption by setting this variable.It must be exactly 32 characters long
.
Feel free to contribute to this project with your ideas and improvements. Your feedback and suggestions are highly valued and will help enhance this project further.
MyAuthenticator is Free Software: You can use, study, share, and improve it at your will. Specifically, you can redistribute and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.