跳转到主要内容

一个模块,通过查询远程后端来检查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_invitetrueinvitedfalse或不存在

否则,将允许3PID与本地用户关联。

开发

在pip ≥ 21.1的虚拟环境中运行

pip install -e .[dev]

要运行单元测试,您可以使用

tox -e py

trial tests

要运行代码检查器和 mypy 类型检查器,请使用 ./scripts-dev/lint.sh

发布

发布的确切步骤可能会有所不同;但这是 Synapse 开发人员采用的方法(假设使用类 Unix 的 shell)

  1. 设置一个 shell 变量以指定您要发布的版本(这会使后续步骤更容易)

    version=X.Y.Z
    
  2. 更新 setup.cfg 以确保 version 是正确的。

  3. 暂存更改的文件并提交。

    git add -u
    git commit -m v$version -n
    
  4. 推送您的更改。

    git push
    
  5. 准备好后,为发布创建一个已签名的标签

    git tag -s v$version
    

    将标签消息基于变更日志。

  6. 推送标签。

    git push origin tag v$version
    
  7. 创建源分发并将其上传到 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-py3-none-any.whl (8.3 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面