Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Facets 3.0.6 Minor update available for module facets (3.0.6). Release: Facets 3.0.5 Minor update available for module facets (3.0.5). Release: Flag 5.1.0 Minor update available for module flag (5.1.0). Release: Block Layout Accordion 1.0.2 Minor update available for module block_layout_accordion (1.0.2). Release: Canvas interactive toggle 1.0.2 Minor update available for module canvas_interactive_toggle (1.0.2). Release: Views HTTP Client 1.0.2 Minor update available for module views_http_client (1.0.2). Release: Block Layout Accordion 1.0.1 Minor update available for module block_layout_accordion (1.0.1). Release: Canvas interactive toggle 1.0.1 Minor update available for module canvas_interactive_toggle (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module allows users to log in to your Drupal site using their Ethereum wallet, following the Sign-In with Ethereum standard. Instead of passwords, users authenticate by signing a message with their Web3 wallet for a passwordless login experience.

SIWE Login enables Ethereum wallet-based authentication for Drupal using the Sign-In with Ethereum (EIP-4361) standard. Instead of usernames and passwords, users authenticate by signing a cryptographic message with their Web3 wallet
(MetaMask, WalletConnect, etc.). This provides a seamless, passwordless login experience for Web3 users while maintaining Drupal's robust user management system.

Features

  • EIP-4361 Compliant: Full implementation of the Sign-In with Ethereum standard
  • Multiple Wallet Support: Works with MetaMask, WalletConnect, and other Web3 wallets
  • Replay Attack Prevention: Nonce-based security with configurable TTL
  • Domain Validation: Prevents cross-domain authentication attacks
  • Optional Email Verification: Require email verification for new users
  • Optional Username Creation: Custom username flow for users without ENS names
  • ENS Name Support: Validate and display Ethereum Name Service names
  • Extensible Hook System: hook_siwe_login_response_alter() for other modules to customize authentication responses
  • Login Block: Provides a configurable block for placing SIWE login anywhere on your site
  • User Field Management: Automatically creates and manages field_ethereum_address and field_ens_name on user accounts

Use Cases:

  • Web3 dApps requiring Drupal backend authentication
  • DAO membership portals
  • NFT-gated content sites
  • Decentralized identity integration
  • Sites wanting passwordless wallet-based login

Post-Installation

  1. Navigate to Configuration → People → SIWE Login (/admin/config/people/siwe)
  2. Configure the Expected Domain to match your site's domain (auto-detected during install)
  3. Optionally enable:
    • Require Email Verification for new users
    • Require ENS or Username to force username creation
    • Ethereum Provider URL for ENS validation (Alchemy/Infura endpoint)
  4. Place the SIWE Login Block in your theme's regions via Structure → Block layout
  5. Users can now authenticate by connecting their wallet and signing the SIWE message

The module creates API endpoints at /siwe/nonce and /siwe/verify that handle the authentication flow.

Additional Requirements

PHP Requirements:

  • PHP 8.1 or higher
  • GMP extension (php-gmp) - Required for cryptographic operations

Composer Dependencies (installed automatically):

  • kornrunner/keccak - Keccak-256 hashing for Ethereum address derivation
  • simplito/elliptic-php - secp256k1 elliptic curve for signature verification
  • web3p/web3.php - Ethereum RPC communication for ENS resolution

Frontend Requirements:

  • ethers.js v6+ (for wallet interaction)
  • A Web3 wallet browser extension (MetaMask, etc.)

For DDEV users, add to .ddev/config.yaml:

  webimage_extra_packages: [php8.3-gmp]
  
  • Safe Smart Accounts: Integrates with SIWE Login to provide multi-signature wallet management for authenticated users
  • An Ethereum RPC provider account (Alchemy, Infura, or similar) if you want to enable ENS name validation

Similar projects

  • web3_auth: Another Web3 authentication module - SIWE Login differentiates by strictly following the EIP-4361 standard, providing optional email verification flows, ENS validation, and a hook system for
    extensibility.

Supporting this Module

This module is actively maintained. If you find it useful, consider:

  • Contributing code or documentation via the issue queue
  • Sponsoring development through GitHub Sponsors

Community Documentation

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
5
Tracked since
Nov 2025
Latest release
8 months ago
Releases (12 mo)
5 ▲ from 0
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
1.0.0-beta4 Pre-release 10–11 Dec 8, 2025
1.0.0-beta3 Pre-release 10–11 Dec 8, 2025
1.0.0-beta2 Pre-release 10–11 Dec 8, 2025
1.0.x-dev Dev 10–11 Dec 3, 2025
1.0.0-beta1 Pre-release 10–11 Nov 24, 2025