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.
- 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.
WalletConnect support can be provided via Infura. First, you need to create a new Infura project in order to receive a new Infura project ID. Then go to the settings (same section as before) and paste the ID in the specified location and click on the checkmark.
Field to insert the Infura ID.
As an alternative, you can configure the WalletConnect instance with a custom JSON RPC endpoint, as shown below:
By default a statement is added to the signing message:
Sign-in to Discourse via Ethereum. To edit this statement, access the settings (same as before) and update it.
Field related to the message statement.