💬Discourse
A Discourse plugin to enable Sign-In with Ethereum as an authentication method.
Last updated
A Discourse plugin to enable Sign-In with Ethereum as an authentication method.
Last updated
Overview
Discourse is an open-source discussion platform used for most crypto governances and projects to discuss proposals, updates, and research. The following is a quick guide on how to add Sign-In with Ethereum to your existing Discourse.
Note
This guide is currently compatible with Discourse's official distribution. The discussion about the issues with other builds can be followed here.
The Sign-In with Ethereum plugin still requires users to enter an email to associate with their accounts after authenticating for the first time. If the user owns an ENS address, it will be the default selected username. Once an email address is associated, users can then sign in using the SIWE option at any time.
To install and enable the plugin on your self-hosted Discourse use the following method:
Access your container’s app.yml
file (present in /var/discourse/containers/
)
Add the plugin’s repository URL to your container’s app.yml
file:
Follow the existing format of the docker_manager.git
line; if it does not contain sudo -E -u discourse
then insert - git clone https://github.com/spruceid/discourse-siwe-auth.git
.
Rebuild the container:
To disable it either remove the plugin or uncheck discourse siwe enabled
at (Admin Settings -> Plugins -> discourse-siwe -> discourse siwe enabled
).
This plugin uses the newest Web3Modal v2, in order to use it you need to create a free project id at https://cloud.walletconnect.com/sign-in and configure it in the plugin.
By default, a statement is added to the messages: Sign-in to Discourse via Ethereum. To edit this statement access the settings (same as before) and update it.