| 摘要 | 在 Discourse 上启用以太坊登录 (Sign-In with Ethereum) | |
| 代码仓库 | GitHub - signinwithethereum/discourse-siwe-auth: Discourse plugin for SIWE authentication · GitHub | |
| 安装指南 | 如何在 Discourse 中安装插件 |
功能
此插件在 Discourse 上启用了以太坊登录 (Sign-In with Ethereum)
配置
要求
- 一个自托管的 Discourse 论坛,或者一个允许第三方插件的托管服务商,例如 Communiteq。
注意
以太坊登录插件仍然要求用户在首次通过身份验证后输入电子邮件以关联其帐户。如果用户拥有 ENS 地址,该地址将作为默认选定的用户名。一旦关联了电子邮件地址,用户之后可以随时使用 SIWE 选项登录。
启用插件
要在自托管的 Discourse 上安装和启用此插件,请使用以下方法:访问容器的 app.yml 文件(位于 /var/discourse/containers/):
cd /var/discourse
nano containers/app.yml
将插件的代码仓库 URL 添加到容器的 app.yml 文件中:
hooks:
before_code: # <-- 添加
- exec: # <-- 添加
cmd: # <-- 添加
- gem install rubyzip # <-- 添加
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 # <-- 添加
遵循 docker_manager.git 行的现有格式;如果它不包含 sudo -E -u discourse,则插入 - git clone https://github.com/spruceid/discourse-siwe-auth.git。
重建容器:
cd /var/discourse
./launcher rebuild app
要禁用它,请删除插件或在 (管理设置 → 插件 → discourse-siwe → discourse siwe enabled) 处取消选中 discourse siwe enabled。
启用 WalletConnect
可以通过 Infura 提供 WalletConnect 支持。请创建一个新的 Infura 项目以获取一个新的 Infura 项目 ID。然后转到设置(与之前相同)并将 ID 粘贴到该位置并点击复选标记。 
JSON RPC
或者,您可以使用 JSON RPC 端点配置 WalletConnect 实例,如下所示:
这样做将覆盖 WalletConnect 的 Infura ID 配置选项,对 WalletConnect 的其他使用不会产生影响。
编辑消息声明
默认情况下,会向消息添加一条声明:Sign-in to Discourse via Ethereum。要编辑此声明,请访问设置(与之前相同)并进行更新。 


