| Resumen | Habilitar el inicio de sesión con Ethereum en Discourse | |
| Repositorio | GitHub - signinwithethereum/discourse-siwe-auth: Discourse plugin for SIWE authentication · GitHub | |
| Guía de instalación | Cómo instalar complementos en Discourse |
Un complemento para Discourse que permite a los usuarios autenticarse con su billetera de Ethereum utilizando el estándar Sign-In with Ethereum (SIWE). Las billeteras inyectadas (MetaMask, Safe, etc.) funcionan de inmediato. Los nombres ENS y las imágenes de perfil se resuelven en el servidor cuando se configura un punto final RPC.
Requisitos
- Un foro de Discourse autoalojado o alojado con un proveedor que admita complementos de terceros, como Communiteq.
Instalación
Accede al archivo app.yml de tu contenedor:
cd /var/discourse
nano containers/app.yml
Agrega la URL del repositorio del complemento al hook after_code:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
- sudo -E -u discourse git clone https://github.com/signinwithethereum/discourse-siwe-auth.git # <-- agregado
Sigue el formato existente de la línea docker_manager.git; si no contiene sudo -E -u discourse, usa git clone https://github.com/signinwithethereum/discourse-siwe-auth.git en su lugar.
Reconstruye el contenedor:
cd /var/discourse
./launcher rebuild app
Configuración
Después de la instalación, busca el complemento en Admin > Complementos y asegúrate de que esté habilitado:
Haz clic en Configuración para configurar el complemento:
Desde aquí puedes personalizar el mensaje de inicio de sesión y opcionalmente agregar un ID de proyecto de WalletConnect / Reown. Sin un ID de proyecto, solo estarán disponibles las billeteras inyectadas (MetaMask, Safe, etc.).
Configuración
| Configuración | Descripción |
|---|---|
| Discourse siwe enabled | Habilitar o deshabilitar la autenticación con Sign-In with Ethereum. |
| Siwe ethereum rpc url | Opcional. Un punto final JSON-RPC de Ethereum utilizado para la resolución de nombres ENS/imágenes de perfil y la verificación de firmas EIP-1271 (requerido para billeteras de contratos inteligentes como SAFE). Se recomienda un proveedor dedicado (Alchemy, Infura). Ejemplo: https://mainnet.infura.io/v3/YOUR_KEY. |
| Siwe project ID | Opcional. Un ID de proyecto de WalletConnect / Reown. Sin él, solo estarán disponibles las billeteras inyectadas (MetaMask, Safe, etc.). Para habilitar WalletConnect, crea un ID de proyecto gratuito en dashboard.reown.com. |
| Siwe statement | El mensaje legible por humanos que se muestra en el mensaje SIWE. Por defecto es “Sign in with Ethereum”. |
Cómo funciona
Cuando un usuario hace clic en el botón de inicio de sesión con Ethereum, el complemento abre un proceso de autenticación dedicado. El usuario conecta su billetera, firma un mensaje SIWE y se autentica mediante una estrategia OmniAuth en el lado del servidor.
Después del primer inicio de sesión, se le pedirá a los usuarios que asocien una dirección de correo electrónico con su cuenta. Si se configura una URL RPC y la dirección conectada tiene un nombre ENS, el nombre se resuelve y verifica en el servidor y se sugiere como nombre de usuario predeterminado. Las imágenes de perfil ENS se obtienen a través del servicio de metadatos de ENS y se utilizan como foto de perfil.
Alternativamente, los usuarios existentes pueden conectar sus cuentas de Ethereum a través de la configuración de su perfil.

