Ethereum Login for Discourse

Description

Discourse forums can enable multiple forms of authentication for account creation and signup. Enabling an Ethereum login allows for native pseudonymous accounts in Discourse.

User Impact

Who would want to use this and why?

Communities which use Discourse and also Ethereum dapps can tie forum activities to on chain accounts. We can encourage usage of Ethereum accounts.

Enabling Ethereum account login also can provide the basis for badges as NFTs, on-chain tokens as reputation, on chain access control, and other mixing of forum + on chain features.

Features

Basic Discourse auth plugin that supports using a Web3 provider to sign up as a new user or sign in to an existing account.

Email is an editable field and needs to be verified separately.

WalletConnect Support

Display WC logo / QR code to use mobile wallet

3Box Support

Supporting 3Box means on sign up, email address, avatar, and other fields are filled in automatically.

Other features:

  • link to 3box on user profile OR
  • prompt to create 3box profile from user profile
  • forum membership verified in 3box

Discussion Elsewhere

Talking to Pedro, I think using the Web3Connect Codebase can be used to form the basis for the login

This Discourse OAuth2 plugin can likely be used as the basis for writing the Auth plugin: