The EthPress Web3 Login WordPress Plugin adds a capability to connect with cryptocurrency wallets such as MetaMask for Ethereum, Binance Smart Chain (BSC), Polygon (MATIC) or any other EVM-compatible blockchain, and wallets that support WalletConnect QR code. Adds a button to WordPress login screen that will let users securely log in with their crypto wallet.
Add the capability to log in with cryptocurrency wallets such as MetaMask for Ethereum, and wallets that support WalletConnect QR code. Adds a button to WordPress login screen that will let users securely log in with their crypto wallet.
In the background, a regular WordPress user account is created, so existing plugins and customizations will have no problem working along.
- A web3 login button is added to your login screen automatically
- Use the EthPress widget for maximum ease
- Alternatively, a shortcode [ethpress_login_button] can be used
- Managed Verification Service. PRO version required. Free 7 days Trial available!
- EthPress login button on a WooCommerce Login, Register and Checkout Forms. PRO version required. Free 7 days Trial available!
- The [ethpress_account] short code can be used to display the current user’s address logged with. PRO version required. Free 7 days Trial available!
- NFT Token based access control for WooCommerce products, simple pages and posts can be done with the EthPress NFT Access Add-On. Free 7 days Trial available!
Subscribe to this plugin’s support forum, I post feedback requests on the regular basis!
By using this free plugin you accept all responsibility for handling the account balances for all your users.
Under no circumstances is ethereumico.io or any of its affiliates responsible for any damages incurred by the use of this plugin.
Every effort has been made to harden the security of this plugin, but its safe operation depends on your site being secure overall. You, the site administrator, must take all necessary precautions to secure your WordPress installation before you connect it to any live wallets.
You are strongly advised to take the following actions (at a minimum):
- Educate yourself about cold and hot cryptocurrency storage
- Obtain hardware wallet to store your coins
- Educate yourself about hardening WordPress security
- Install a security plugin such as Jetpack or any other security plugin
- Enable SSL on your site if you have not already done so.
By continuing to use the EthPress plugin, you indicate that you have understood and agreed to this disclaimer.
These hooks can be used to add your custom logic after user logged in or linked an account using the EthPress plugin functionality.
login_redirect hook is a standard WordPress hook you can use to customize the page user should be redirected after login.
/** * Fires after every login attempt. * * @param WP_User|WP_Error $user WP_User on success, WP_Error on failure. * @param (string|false) $provider One of 'metamask', 'walletconnect', false. */ do_action( 'ethpress_login', $user, $provider ); /** * Fires after every user account linking success. * * @param WP_User|WP_Error $user WP_User on success, WP_Error on failure. * @param (string|false) $provider One of 'metamask', 'walletconnect', false. */ do_action( 'ethpress_linked', $user, $provider ); /** * Filters the login redirect URL. * * @param string $redirect_to The redirect destination URL. * @param string $requested_redirect_to The requested redirect destination URL passed as a parameter. * @param WP_User|WP_Error $user WP_User object if login was successful, WP_Error object otherwise. */ $redirect_to = apply_filters( 'login_redirect', $redirect_to, $requested_redirect_to, $user );
Use WordPress’ Add New Plugin feature, search “EthPress”,
- Upload this folder (on WordPress.org, not GitLab) to the
- Activate the plugin through the ‘Plugins’ menu in WordPress
“Cannot log you in; you have not registered”
EthPress 0.7.1+ respects the “Anyone can register” WordPress setting, so you have to enable that in Settings->General.
The modal classes keep changing
Use selectors like
#web3-login-root button.web3login-metamask, instead of the
How does it work?
The outline is described in this TopTal post by Amaury Martiny.
Instead of using databased nonces, we use WordPress nonces with a lifetime of 5 minutes, and append the user IP to the login message to prevent replays from elsewhere.
Fore more details, check out the extra readme.
When user submits a signature, it needs to be verified on server-side.
Read the “How does it work?” question.
Firstly, if you have php-gmp or php-bcmath extension installed, we’ll do it with PHP, and you can ignore the rest of this. To check, go to the EthPress settings page.
Are my coins safe?
Yes. A wallet (e.g. MetaMask) does/should not leak your private keys out into the wild, that would be madness.
What about mobile?
Mobile integration is in good condition, with WalletConnect QR code reading from wallets such as MetaMask Mobile, there is very little friction!
Ethpress does not store anything other than the wallet address, on your server. It will be deleted if you delete the associated user account or remove the plugin entirely.
Check EthPress Settings page for more information.
Source code and contributing
Contributions on GitLab only, thank you.
Plugin’s source code: https://gitlab.com/losnappas/ethpress.
WordPress plugin page: https://wordpress.org/plugins/ethpress/.
Signature verifier’s, which is used if no php-gmp or php-bcmath, source code: https://gitlab.com/losnappas/verify-eth-signature.
The modal is a Svelte component. Source code: https://gitlab.com/losnappas/web3-login.
On the wordpress.org support page, or on the ethereumico.io support forum.
Contributors & Developers
“EthPress – Web3 Login” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Add-ons prices display fix
- Fix standard settings saving
- Settings update hook extended for better addons support
- Options page logic refactored for better addons support
ethpress_options_updatefilter added to update settings in addons
- Fix tab switching
- Settings tabs support for addons settings integration
- Default Role other that “subscriber” in multisite
- The Ledger wallet connect fix
- The “Register” buttons are not offered if the Administration > Settings > General > Membership: Anyone can register box is not checked.
- Warning on the settings page is also shown in this case.
- Security fixes
- Fix for the address access error when the address was not found
- New freemius.com library version
ethpress_linkedhook is added.