|Summary||Enable Sign-In with Ethereum on Discourse|
|Repository Link||GitHub - spruceid/discourse-siwe-auth: Discourse plugin for SIWE authentication|
|Install Guide||How to install plugins in Discourse|
This plugin enables Sign-In with Ethereum on Discourse
- A Discourse forum that is self-hosted or that is hosted with a provider that allows third party plugins, like Communiteq.
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.
Enabling the Plugin
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/)
cd /var/discourse nano containers/app.yml
Add the plugin’s repository URL to your container’s app.yml file:
hooks: before_code: # <-- added - exec: # <-- added cmd: # <-- added - gem install rubyzip # <-- added 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/spruceid/discourse-siwe-auth.git # <-- added
Follow the existing format of the docker_manager.git line; if it does not
sudo -E -u discourse then insert -
git clone https://github.com/spruceid/discourse-siwe-auth.git.
Rebuild the container:
cd /var/discourse ./launcher rebuild app
To disable it either remove the plugin or uncheck discourse siwe enabled at
(Admin Settings → Plugins → discourse-siwe → discourse siwe enabled ).
WalletConnect support can be provided via Infura. Create a new Infura project in order to receive a new Infura project ID. Then go to the settings (same as before) and paste the ID in that location and click on the checkmark.
As an alternative, you can configure the WalletConnect instance with JSON RPC endpoints, as shown below:
Doing so will supersede the Infura ID configuration option for WalletConnect specifically, other uses of an Infura ID won’t be affected.
Edit the message statement
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.