Linux 软件免费装

EthPress - Web3 Login

开发者 lynn999
ethereumicoio
freemius
更新时间 2026年10月21日 14:36
捐献地址: 去捐款
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

ethereum cryptocurrency metamask walletconnect NFT

下载

0.6.0 1.1.1 1.2.1 2.0.0 0.3.0 1.5.12 0.1.0 0.2.4 0.7.1 1.0.0 1.0.1 1.0.3 1.5.13 2.1.1 1.8.0 2.0.1 2.0.2 2.2.1 2.2.2 2.2.3 2.3.0 1.5.10 1.5.11 1.5.4 0.4.1 0.5.1 1.0.2 1.2.0 2.1.0 1.4.0 1.2.2 1.3.0 1.5.0 1.5.1 1.6.0 1.7.1 1.7.2 2.3.1 2.3.2 2.3.4 2.3.5 2.3.3 2.3.6 3.0.0

详情介绍:

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 Reown QR code. Adds a button to WordPress login screen that will let users securely log in with their crypto wallet. https://youtu.be/0a8lWF6uHPA Add the capability to log in with cryptocurrency wallets such as MetaMask for Ethereum, and wallets that support Reown 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.

安装:

Use WordPress' Add New Plugin feature, search "EthPress", or
  1. Upload this folder (on WordPress.org, not GitLab) to the /wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress

屏幕截图:

  • 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

常见问题:

Can NFT token ownerhip restriction be applied?

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!

The modal classes keep changing

The wallet modal is drawn by Reown AppKit inside a shadow root, so page CSS and class selectors cannot reach it at all (the old #web3-login-root element and its per-build svelte-* classes are gone). Style it with the Custom CSS setting (PRO, in Reown Settings) and the AppKit CSS variables such as --w3m-accent.

How does it work?

The outline is described in this TopTal post by Amaury Martiny. A one-time nonce is stored for the wallet address and consumed when the signature is verified, so a signed message cannot be replayed. Its lifetime is 15 minutes by default and can be changed with the ethpress_nonce_lifetime filter. The IP the message was requested from is stored with it for troubleshooting, but it is not part of the check, because a mobile wallet can switch networks between requesting the message and signing it. For more details, check out the extra readme.

Signature verification

When user submits a signature, it needs to be verified on server-side. Read the "How does it work?" question. Firstly, if you have the php-gmp or php-bcmath extension installed, we do it with PHP, and you can ignore the rest of this. The Diagnostics section of the EthPress settings page proves it with a known message and signature. Otherwise the verification is done by a verification service. EthPress PRO comes configured with a Managed Verification Service. You can also host that service yourself and set its URL in the Verification Service API URL setting; its source code is here: https://gitlab.com/losnappas/verify-eth-signature.

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 Reown QR code reading from wallets such as MetaMask Mobile, there is very little friction!

What happens to the account when a wallet is unlinked?

Unlinking is a soft detach: only the association is removed, the WordPress account stays.

  • The ethpress user meta of the account is deleted, so the wallet no longer resolves to it: [ethpress_account], the eth-address-field elements and the unlink button show nothing until a wallet is linked again.
  • A user who signed in with the wallet as their login name is logged out, because the wallet was their only way in. A regular WordPress user (who linked a wallet to an existing account) stays logged in.
  • The account itself is not deleted, and neither is its login name. For wallet users the login name is the wallet address, so signing in again with the same wallet finds that account through it and links the address back to it. This is why a freshly unlinked wallet does not get a second account, and why an unlinked wallet cannot be used to register a new one.
  • Unlinking from the account page and then signing in with the same wallet therefore ends up in the same account, with the wallet linked again.
To dissociate them for good, delete the WordPress user as well (Users > All Users). Deleting a user removes their wallet address with them.

GDPR?

This is everything EthPress keeps on your server for a wallet:

  • the wallet address, as the ethpress user meta of the WordPress user the wallet is linked to. Unlinking the wallet deletes that meta; the user account itself and its login name (the address) stay until the account is deleted;
  • the WordPress user account itself: its login name and its display name are the wallet address, and its email is a placeholder derived from that address - unless the visitor typed a real email and name, which the registration form, the WooCommerce checkout or the Inline form next to the login button mode collect;
  • two flags on that user, ethpress_generated_email and ethpress_profile_incomplete, which let the plugin replace the placeholder email with a real one;
  • the one-time login nonce: a transient keyed by the wallet address that also records the IP the login message was requested from. The IP is kept for troubleshooting only and is never checked. The nonce is deleted as soon as the signature is verified, and expires after 15 minutes at the latest;
  • debugging lines, when the plugin writes them (a failed verification, or any login verified by the service). They go to the WooCommerce log file, wp-content/uploads/wc-logs/ethpress-*.log, or to the PHP error log when WooCommerce is not installed, and they contain the wallet address, the message that was signed and its signature. Clear those files when the addresses have to be gone.
Nothing is sent anywhere, with two exceptions:
  • the verification service, when it is the one verifying the signatures on your site (see the "Signature verification" question). Only the message and the signature are posted; the wallet address is recovered from the signature there, not sent. The default (managed) service is hosted on ethereumico.io and stores nothing, and you can host that service yourself instead.
  • opening the wallet modal talks to Reown: its API provides the wallet list, and mobile wallets are connected through the WalletConnect relay. EthPress itself sends neither the signature nor the wallet address there.
Deleting a user deletes their wallet address with them. Removing the plugin deletes the plugin settings, but the wallet addresses stay in wp_usermeta until those users are deleted themselves - search for the ethpress meta key if you need to remove them by hand. Check the Diagnostics section of the EthPress settings page to see which verification path your site uses.

Source code and contributing

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 wallet modal is a React component built on the Reown AppKit library. Its source code is part of the plugin repository, in the reown/ directory: https://gitlab.com/losnappas/ethpress.

Further support

On the wordpress.org support page, or on the ethereumico.io support forum.

更新日志:

3.0.0