EthPress Web3 Login Wordpress Plugin adds the capability to connect with cryptocurrency wallets such as MetaMask or WalletConnect QR code.
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.
The EthPress NFT Access Add-On can be used to control access for WooCommerce products, simple pages and posts.
ethpress-address-changed
class present.The EthPress PRO version is required to use these features. Free 7 days Trial is available!
Redirect URL
setting can be used to set an URL of a page to redirect after a successful loginlogin_button_label
attribute can be used to change the label for the login button displayed with a [ethpress_login_button]
shortcodeThe NFT Token based access control for the WooCommerce products, simple pages and posts can be done with the EthPress NFT Access Add-On. Free 7 days Trial is available!
Check user NFT authentication control (non-fungible token, erc-721 and erc-1155) ownership.
The EthPress NFT Access Add-On is perfect for blocking users access to a Page, a Post and a WooCommerce Product page, if they don’t own a certain NFT token.
Free 7 days Trial is available
Page
to some NFT token owners onlyPost
to some NFT token owners onlyProduct
to some NFT token owners onlyERC721
and ERC1155
non-fungible token standards are supportedThe ethpress_nft_access_get_user_accounts
filter can be used to add wallets for testing:
add_filter('ethpress_nft_access_get_user_accounts', function($accounts) { $more_accounts = get_more_accounts(); return array_merge($accounts, $more_accounts); });
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):
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.
The login_redirect
hook is a standard WordPress hook you can use to customize the page user should be redirected after login.
The EthPress PRO version has a feature to configure it on the plugin settings page. Free 7 days Trial is available!
/** * 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 ); /** * For additional checks in addons * * @since 1.6.0 * * @param \losnappas\Ethpress\Address $address. * @return \losnappas\Ethpress\Address|\WP_Error Return \WP_Error if address doesn't fulfill some condition. */ $address = apply_filters('ethpress_login_address', $address); /** * For additional checks in addons * * @since 1.6.0 * * @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('ethpress_login_redirect', $redirect_to, $requested_redirect_to, $user);
Use WordPress’ Add New Plugin feature, search “EthPress”,
or
/wp-content/plugins/
directoryLogin flow.
Widget included.
WooCommerce Login Form display.
WooCommerce Login Form display settings.
The EthPress NFT Access Add-On page settings.
The EthPress NFT Access Add-On settings.
The EthPress NFT Access Add-On site wide settings.
NFT Access Granted message on the All cources page LearnPress LMS
Buy NFT token to access message on a cource page LearnPress LMS
NFT Access Granted message on a cource page LearnPress LMS
NFT Access settings on a cource page LearnPress LMS
NFT Access settings for LearnPress LMS
NFT Access Granted message on the All cources page Tutor LMS
NFT Access Granted message on a cource page Tutor LMS
NFT Access settings for Tutor LMS
The Ultimate Member EthPress Button support
The Ultimate Member EthPress Button edit dialog
The Ultimate Member EthPress Button on the Login page
The Ultimate Member EthPress Button on the Register page
The Ultimate Member EthPress Link Account Button on the Profile Edit page
The Ultimate Member EthPress Account display on the Profile page
The NFT Token based access control for the WooCommerce products, simple pages and posts can be done with the EthPress NFT Access Add-On. Free 7 days Trial is available!
EthPress 0.7.1+ respects the “Anyone can register” WordPress setting, so you have to enable that in Settings->General.
Use selectors like #web3-login-root button.web3login-metamask
, instead of the svelte-12345
.
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.
Otherwise, we do it with JavaScript. EthPress Premium comes configured with a Managed Verification Service. To verify signatures locally with JavaScript, see details: https://gitlab.com/losnappas/verify-eth-signature.
Yes. A wallet (e.g. MetaMask) does/should not leak your private keys out into the wild, that would be madness.
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.
If you’re using the default, pre-set signature verification service: it is hosted on the ethereumico.io. No data is stored here.
Check EthPress Settings page for more information.
Contributions on GitLab only, thank you.
Plugin’s source code: https://gitlab.com/losnappas/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.
Username already exists
error fix second attemptUsername already exists
error fixKnown issue: the Trust Wallet doesn’t work in the Wallet Connect QR code mode.
NOTE: breaking changes! The WalletConnect Project ID should be configured in plugin settings.
ethpress_before_submit_button
action is added for better addons supportHTML
tags in the status message for better addons supportethpress_login_user
and ethpress_login_redirect
filters are added to be used in addons