使用电子邮件的Synapse账户有效性模块
项目描述
Synapse电子邮件账户有效性
Synapse插件模块,用于通过验证电子邮件管理账户有效性。
本模块需要
- Synapse >= 1.34.0
- sqlite3 >= 3.24.0(如果使用SQLite与Synapse一起使用)
安装
此插件可以通过PyPI安装
pip install synapse-email-account-validity
配置
在Synapse配置文件下的account_validity
部分添加以下内容:
- module: email_account_validity.EmailAccountValidity
config:
# The maximum amount of time an account can stay valid for without being renewed.
period: 6w
# How long before an account expires should Synapse send it a renewal email.
renew_at: 1w
同样,在HTTP客户端的listener
下,根据以下配置添加一个additional_resource
:
additional_resources:
"/_synapse/client/email_account_validity":
module: email_account_validity.EmailAccountValidityServlet
config:
# The maximum amount of time an account can stay valid for without being
# renewed.
period: 6w
持续时间的语法与Synapse配置文件的其余部分相同。
如果它们还不存在,请将模板复制到Synapse的模板目录中。
路由
此插件公开了三个HTTP路由来管理账户有效性
POST /_synapse/client/email_account_validity/send_mail
,任何注册用户都可以使用访问令牌访问,以请求发送到其电子邮件地址的续订邮件。GET /_synapse/client/email_account_validity/renew
,需要包含通过电子邮件发送给用户的最新令牌的token
查询参数,以续订与令牌关联的账户。POST /_synapse/client/email_account_validity/admin
,任何服务器管理员都可以使用它来管理任何注册用户的账户有效性。它需要一个包含以下键的JSON正文user_id
(字符串,必需):要更新的用户的Matrix ID。expiration_ts
(整数,可选):此用户的新过期时间戳,以毫秒为单位。如果没有提供令牌,则使用对应的now + period
值。enable_renewal_emails
(布尔值,可选):是否允许向此用户发送续订邮件。
前两个路由需要由最终用户访问,才能按预期工作。
开发和测试
此存储库使用tox
来运行测试。
测试
此存储库使用unittest
来运行位于tests
目录中的测试。可以使用tox -e tests
运行。
发布版本
git tag vX.Y
python3 setup.py sdist
twine upload dist/synapse-email-account-validity-X.Y.tar.gz
git push origin vX.Y
项目详情
关闭
synapse-email-account-validity-0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5f5cee0c7e4230a12365855a541309b65c96abecce8ec9069f65f1e279217439 |
|
MD5 | a3bf662c53eb8b97753bca54028727c3 |
|
BLAKE2b-256 | aff91a535d2726cbac2f5e873f075ce8ff3cfba88bb9ee0eb18486d2d90dc755 |