一个模块,通过查询远程后端来检查3PID(电子邮件地址、电话号码)是否允许注册。
项目描述
Synapse的3PID检查器
一个模块,通过查询远程后端来检查3PID(电子邮件地址、电话号码)是否允许在本地 homeserver 上注册。
安装
从您为Synapse使用的虚拟环境,使用以下命令安装此模块
pip install path/to/synapse-3pid-checker
(如果您遇到问题,可能需要首先升级pip,例如通过运行pip install --upgrade pip)
然后修改您的 homeserver 配置,向您的modules配置添加
modules:
- module: threepid_checker.ThreepidChecker
config:
# The URL to send requests to when checking if a 3PID can be associated to an account.
# See below for more information.
# Required.
url: https://foo/bar
# If true, the module will only send requests to the URL as part of registering a
# new user. This means no request will be sent to the URL when associating a 3PID with
# an already existing account.
# Optional, defaults to false.
only_check_at_registration: false
配置的URL将通过HTTP GET请求被访问。请注意,这不属于Synapse的IP黑名单,包含2个参数来验证3PID
medium:3PID的中继(电子邮件地址的email,电话号码的msisdn)address:3PID的地址
该URL处的服务器应返回一个包含以下键的JSON对象
hs(字符串):必需。允许3PID关联的homeserver的名称。这是Synapse配置文件中的server_name变量。如果此信息不存在于响应体中,3PID将被拒绝。requires_invite(布尔值):可选。是否需要邀请才能将此3PID关联到此 homeserver 的账户。邀请的资格由配置URL的服务器定义。默认为false。invited(布尔值):可选。是否有待处理的邀请。默认为false。
如果以下任一条件成立,模块将根据响应拒绝3PID的关联
hs与 homeserver 配置的服务器名称不匹配,或不存在,或requires_invite为true且invited为false或不存在
否则,将允许3PID与本地用户关联。
开发
在pip ≥ 21.1的虚拟环境中运行
pip install -e .[dev]
要运行单元测试,您可以使用
tox -e py
或
trial tests
要运行代码检查器和 mypy 类型检查器,请使用 ./scripts-dev/lint.sh。
发布
发布的确切步骤可能会有所不同;但这是 Synapse 开发人员采用的方法(假设使用类 Unix 的 shell)
-
设置一个 shell 变量以指定您要发布的版本(这会使后续步骤更容易)
version=X.Y.Z
-
更新
setup.cfg以确保version是正确的。 -
暂存更改的文件并提交。
git add -u git commit -m v$version -n
-
推送您的更改。
git push -
准备好后,为发布创建一个已签名的标签
git tag -s v$version
将标签消息基于变更日志。
-
推送标签。
git push origin tag v$version
-
创建源分发并将其上传到 PyPI
python -m build twine upload dist/threepid_checker-$version*
项目详情
下载文件
下载适用于您平台的项目文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
threepid_checker-1.0.1.tar.gz (7.6 kB 查看哈希值)
构建分发
关闭
threepid_checker-1.0.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 8a0e95ed229010baa320f19266a6783bbfa1e36c07ba806b1d207d54a7636f6d |
|
| MD5 | 0ff5dc14990b9a366cb9768b5836010c |
|
| BLAKE2b-256 | 11be46635232adf26f7261cff7fde9cd2ca59c081f8a459aafee5d2b1da78a1c |
关闭
threepid_checker-1.0.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 720aab00fc9e7709945d5b25da9944e660dc260b50ccb888c9b51d687d9db131 |
|
| MD5 | ee6678eb91e131ac6bf81765269fa21f |
|
| BLAKE2b-256 | f9410a2372b5a9c4926edbb06e4d6d5ba7f38cb220329e87fd163c3d3549ba58 |