MetaMask Login
Login to WordPress using MetaMask or other Web3 wallets with admin wallet access control. Supports RTL and Persian language.
by Your Name · github.com/mnhashemabadi/metamask-login · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/mnhashemabadi/metamask-login/archive/refs/heads/main.zipReadme
MetaMask Login for WordPress
A WordPress plugin that allows users to log in using a Web3 wallet (like MetaMask) instead of traditional username/password authentication.
Features
- Web3 Wallet Login: Connect to MetaMask or other compatible Web3 wallets
- Role-Based Access Control: Manually assign administrator roles to specific wallet addresses
- Automatic User Registration: New wallet addresses are automatically registered as users
- RTL Support: Full support for right-to-left languages
- Persian (Farsi) Language: Complete Persian translation included
- Secure Authentication: Uses cryptographic signature verification for secure logins
Installation
- Upload the
metamask-loginfolder to the/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
- Go to 'MetaMask Login' in the WordPress admin menu to configure settings
Configuration
After activating the plugin, you need to:
- Navigate to the "MetaMask Login" settings page in your WordPress admin area
- Enter the Ethereum wallet addresses that should have administrator access (one per line)
- Select the default role for new users who log in with MetaMask
Usage
Once configured, the plugin will add a "Login with MetaMask" button to your WordPress login page. Users can click this button to:
- Connect their MetaMask wallet to your website
- Sign a unique message to verify their ownership of the wallet
- Log in to WordPress using their wallet identity
New users will be automatically registered with their wallet address.
Security
This plugin implements several security measures:
- Nonce verification for all AJAX requests
- Wallet address format validation
- Conversion of wallet addresses to lowercase for consistency
- Session-based nonce storage for signature challenges
- WordPress sanitization for all inputs
Requirements
- WordPress 5.0 or higher
- PHP 7.2 or higher
- Web3-compatible browser (with MetaMask or similar extension installed)
Translation
The plugin comes with full translation support:
- English (default)
- Persian (Farsi)
You can add more translations by adding .po/.mo files to the languages directory.
📜 License
This project is licensed under a Custom NonCommercial Attribution License.
- ✅ Free to use, modify, and share for non-commercial and educational purposes
- ❌ Commercial use, resale, or monetization is strictly prohibited without prior written consent
- 📛 Attribution required: Developed by Mohammad Nasser Haji Hashemabad (https://mohammadnasser.com)
📬 For commercial licensing or inquiries: info@mohammadnasser.com
Support
For support and feature requests, please open an issue on the plugin's GitHub repository.
Credits
- Uses ethers.js for Web3 wallet interaction
- Icons and UI elements from the WordPress core UI
Changelog
1.0.0
- Initial release
Credits
Developed by Mohammad Nasser Haji Hashemabad
- Author: محمد ناصر حاجی هاشم آباد Mohammad Nasser Haji Hashemabad
- Email: info@mohammadnasser.com
- Website: mohammadnasser.com
Links
Read the full README on GitHub →
Releases
| Tag | Published |
|---|---|
| v1.0.0 | Jul 5, 2025 |
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.