跳转到主要内容

Diaspora*认证提供者,适用于Synapse

项目描述

Matrix Synapse的diaspora认证器。

安装

此软件包易于从pypi安装

只需运行此命令进行安装

pip install synapse-diaspora-auth

或者,从git安装

pip install git+https://git.fosscommunity.in/necessary129/synapse-diaspora-auth.git

配置

在您的homeserver.yaml文件中,password_providers指令应如下所示

password_providers:
  - module: "diaspora_auth_provider.DiasporaAuthProvider"
    config:
      pepper: <pepper>
      database:
        engine: <db engine>
        name: "<database>"
        username: <db_user>
        password: <db_password>
        host: "127.0.0.1"
        port: <port>

您应从<DIASPORA_HOME>/database.yaml或从<DIASPORA_HOME>/initializers/devise.rb作为config.pepper获取pepper

引擎应该是mysqlpostgres

端口通常为 PostgreSQL 的 5432 和 MariaDB/MySQL 的 3306

数据库

synapse-diaspora-auth 目前支持 MySQL 和 PostgreSQL 作为数据库引擎。

PostgreSQL

建议在 postgres 数据库中为 synapse 创建单独的用户,该用户对 <database> 只具有只读访问权限。

为此,首先以 root 用户登录到 postgres

sudo -u postgres psql <database>

然后,运行以下命令

CREATE user <db_user> WITH password '<db_password>';
GRANT CONNECT ON DATABASE <database> TO <db_user>;
GRANT SELECT ON users TO <db_user>;

MySQL

MySQL 中的命令几乎相同

以 root 用户登录到 MySQL

sudo mysql -u root

然后运行以下查询

CREATE user '<db_user>'@'localhost' WITH password '<db_password>';
GRANT SELECT ON <database>.users TO '<db_user>'@'localhost';

这样您就可以开始了!

邮箱认证

虽然这个模块有助于与 diaspora 进行认证,但我们还需要设置 mxisd 以支持通过电子邮件进行认证。

安装

请按照此处的说明进行操作。

配置 & 设置

请按照这个

基本上,如果您使用了 debain 软件包,您只需首先设置 matrix.domain

然后,将这些行添加到 mxisd.yaml

sql:
  enabled: true
  type: mysql
  connection: "//<HOST>/<DATABASE>?user=<USERNAME>&password=<PASSWORD>"
  identity:
    type: 'uid'
    query: "select (case when ?='email' then username else null end) as uid from users where email=?"

其中 <HOST><DATABASE><USERNAME><PASSWORD> 分别是您的数据库主机、diaspora 数据库、用户以及您在设置 synapse-diaspora-auth 数据库时创建的用户和密码

现在按照此处给出的步骤进行操作,即,将 /_matrix/client/r0/login 端点转发到 mxisd 并添加

dns.overwrite.homeserver.client:
  - name: '<DOMAIN>'
    value: 'http://localhost:8008'

其中 <DOMAIN> 是您的 matrix 服务器名称。

此处已提供一个 Apache2 反向代理示例 一个示例 nginx 配置如下

location /_matrix/client/r0/login {
    proxy_pass http://localhost:8090/_matrix/client/r0/login;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

确保将其放在其他 matrix 反向代理指令之上。恭喜!您现在已经完全集成了 synapse - diaspora 设置! :D

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分发

synapse-diaspora-auth-0.2.2.tar.gz (17.5 kB 查看哈希)

上传时间

构建分发

synapse_diaspora_auth-0.2.2-py3-none-any.whl (17.7 kB 查看哈希)

上传时间 Python 3

支持