A Discourse plugin to enable Sign-In with Ethereum as an authentication method.
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.
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.
- Access your container’s
app.ymlfile (present in
- Add the plugin’s repository URL to your container’s
before_code: # <-- added
- exec: # <-- added
cmd: # <-- added
- gem install rubyzip # <-- added
- sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
- sudo -E -u discourse git clone https://github.com/spruceid/discourse-siwe-auth.git # <-- added
- Follow the existing format of the
docker_manager.gitline; if it does not contain
sudo -E -u discoursethen insert
- git clone https://github.com/spruceid/discourse-siwe-auth.git.
- Rebuild the container:
./launcher rebuild app
To disable it either remove the plugin or uncheck
discourse siwe enabledat (
Admin Settings -> Plugins -> discourse-siwe -> discourse siwe enabled).
Accessing plugin settings.
Enable plugin at settings.
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.