orangeopensource/flarum-connection

Flarum 连接库

dev-master 2019-02-12 13:02 UTC

This package is auto-updated.

Last update: 2024-09-13 01:37:05 UTC


README

状态

需要在配置和sso上进行重构

安装

运行composer install以安装所有库

配置

为了正常工作,以下任务需要完成:

  • 门户和论坛需要共享相同的根域名(例如:laborange.fr用于门户和forums.laborange.fr用于Flarum)
  • 必须在Flarum上创建一个访问令牌,以便允许库访问Flarum API,它应添加到Flarum的api_keys表中
  • 论坛必须配置为https,并使用有效的SSL证书(不是所有API都仅在http上工作)
  • 应创建一个管理员用户并检索其ID,它将是库用于执行仅管理员任务的用户。

一旦完成所有这些任务,就可以使用以下参数的FlarumConnectorConfig对象初始化库:

  • 论坛实例的地址
  • 用于设置cookie的根域名
  • Flarum数据库中定义的访问令牌
  • 用于管理员请求的管理员用户ID
  • 会话保持活跃的天数
$config = new \FlarumConnection\Models\FlarumConnectorConfig (
                'https://my_forum_adress.mydomain.com', 
                'mydomain.com',
                'AnAccessToken',
                1,
                3000);

库还需要一个logger对象,它需要是一个PSR-2 logger。

$Connector = new FlarumConnector($config,$logger);

测试配置

为了通过phpunit进行单元测试,需要在tests/Config目录中设置以下参数的配置

  • 测试管理员用户的登录名
  • 管理员测试用户的密码
  • 可用于发布的主要标签的ID(在全新的Flarum实例上,您可以使用1)
  • 可用于发布的主要标签的名称(在全新的Flarum实例上,您可以使用general)
  • 激活SSL上的测试
  • Flarum论坛的根URL
  • 包含门户和论坛的根域名
  • API密钥
  • 默认管理员用户(在全新的Flarum实例上,您可以使用1)
  • Flarum cookie的生存期(以天为单位)
return [
    'testUser' => 'admin',
    'testPassword' => 'password',
    'testTagId' => 376,
    'testTagName' => 'TAG15b586f22a4472',
    'testonSSL' => false,
    'flarumUrl' => 'http://flarum.lab.net',
    'flarumRootDomain' => 'lab.net',
    'flarumApiKey' =>'NotSecureToken',
    'flarumDefaultUser' => 1,
    'flarumLifeTime' =>3000

];

功能

HTTP SSO

  • 登录(并获得cookie)
  • 注销(并删除cookie)
  • 是否已连接
  • HTTP SSO文档

SSO

用户

  • 更新用户的密码
  • 更新用户的电子邮件地址
  • 将用户关联到组
  • 删除用户
  • 通过ID获取用户
  • 搜索用户
  • 用户文档

标签

  • 创建标签
  • 删除标签
  • 为标签定义特定权限
  • 获取所有标签
  • 标签文档

讨论

帖子

集成钩子

要执行的集成钩子详细说明见集成文档]