🔐 Authenticator - VSCode MFA Extension

A powerful VSCode extension for managing Multi-Factor Authentication (MFA) secrets and generating TOTP codes.
English | 中文
✨ Key Features
🔐 MFA Secret Management
- Secure Storage: Safely store and manage TOTP secrets
- QR Code Import: Automatically parse secret information from QR code images
- Multiple Input Methods: Support image selection, clipboard paste, TOTP URL input, and manual entry
- Multi-Platform Support: Compatible with various service providers (Google, Microsoft, GitHub, Cloudflare, etc.)
- Label Management: Add labels and issuer information for each secret
- Secure Deletion: Safely delete secrets that are no longer needed
🔄 Smart Code Generation
- Real-time Generation: Generate 6-digit TOTP codes based on current time
- Smart Refresh: Automatically refresh codes based on remaining time
- Countdown Display: Real-time display of code validity remaining time
- One-click Copy: Click to copy verification codes to clipboard
- Batch Generation: Generate codes for all secrets at once
🎨 User Interface
- VSCode Theme: Perfectly integrated with VSCode's UI style
- Responsive Design: Adapts to different screen sizes
- Intuitive Operation: Clean and clear user interface
- Multi-language Support: Support for Chinese and English interfaces
- Real-time Feedback: Detailed operation status and error messages
🔧 Configuration Management
- Server Configuration: Customize backend server address
- API Key: Secure API key management
- Language Settings: Switch between Chinese and English interfaces
- Auto-save: Configuration automatically saved to workspace
🚀 Quick Start
1. Install Extension
Search for and install the "Authenticator" extension from the VSCode Extension Marketplace.
- Open Command Palette: Press
Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac)
- Run Configuration Command: Type "Authenticator: Open Configuration"
- Set Server Information:
- Server URL: Enter your backend server URL
- API Key: Enter a valid API key
- Language: Choose interface language (English/中文)
- Save Configuration: Click "Save Configuration"
3. Add Your First MFA Secret
- Enter MFA Interface: Click "🔐 MFA Authenticator" on the homepage
- Add Secret: Click the "+ Add New Secret" button
- Choose Input Method:
- QR Code Import: Click "📁 Select QR Image" to select QR code image, auto-parse
- Clipboard Paste: Click "📋 Paste QR Image" to paste from clipboard
- URL Input: Click "🔗 Enter TOTP URL" to directly input TOTP URL
- Manual Input: Manually fill in secret key, label, and issuer information
- Check Information: Confirm auto-filled or manually entered information is correct
- Save Secret: Click "Add Secret" to complete
4. Generate Verification Codes
- Auto Generation: Codes are automatically generated after adding secrets
- Manual Refresh: Click the "🔄 Refresh Codes" button
- Smart Refresh: Enable "Smart auto-refresh" to automatically update before codes expire
- Copy Codes: Click the copy button next to verification codes
📖 Detailed Feature Description
QR Code Import Function
- Auto Recognition: Use jimp and jsqr libraries to automatically recognize QR code content
- Multi-format Support: Support PNG, JPG, JPEG, GIF, BMP, WEBP formats
- Smart Parsing: Automatically extract secret, label, issuer and other information
- Fallback Options: Provide manual input options when recognition fails
- Local Processing: All image processing completed locally, protecting privacy
Clipboard Support
- Image Paste: Directly paste QR code images from clipboard
- Text Recognition: Automatically recognize TOTP URLs and Base64 image data
- Smart Detection: Automatically determine clipboard content type
- User Friendly: Provide clear operation prompts and error handling
Smart Refresh Mechanism
- Dynamic Scheduling: Intelligently schedule refresh based on code remaining time
- Early Refresh: Automatically refresh 3 seconds before code expiration
- Resource Optimization: Avoid unnecessary network requests
- Seamless Experience: Ensure users always see valid verification codes
🔒 Security Features
- Local Encryption: Sensitive data encrypted and stored locally
- Secure Transmission: Use HTTPS to communicate with backend server
- Access Control: API key-based access control
- Privacy Protection: Image processing completed locally, not uploaded to server
- Secure Deletion: Delete operations require user confirmation
🛠️ Development and Build
Environment Requirements
- Node.js 16+
- pnpm package manager
- VSCode 1.60.0+
Install Dependencies
pnpm install
Development Mode
pnpm run watch
Build Extension
pnpm run compile
Package Extension
pnpm run package
📝 Changelog
See CHANGELOG.md for detailed version update information.
🤝 Contributing
Contributions are welcome! Please check our contribution guidelines:
- Fork this repository
- Create feature branch (
git checkout -b feature/AmazingFeature )
- Commit changes (
git commit -m 'Add some AmazingFeature' )
- Push to branch (
git push origin feature/AmazingFeature )
- Create Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support and Feedback
🙏 Acknowledgments
Thanks to the following open source projects:
Enjoy secure and convenient MFA experience! 🎉
| |