orangeopensource / flarum-connection
Flarum 连接库
dev-master
2019-02-12 13:02 UTC
Requires
- php: >=7.1
- guzzlehttp/guzzle: >=6.3 <7.0.0
- php-http/guzzle6-adapter: ^1.1
- psr/log: >=1.0 <2.0.0
- symfony/http-foundation: ^4.1
- woohoolabs/yang: ^1.4
Requires (Dev)
- phan/phan: ^0.12.14
- phpunit/phpunit: ^7.2
- wa72/simplelogger: >=1.1 <2.0.0
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
- 登录
- 创建账户
- SSO文档
用户
- 更新用户的密码
- 更新用户的电子邮件地址
- 将用户关联到组
- 删除用户
- 通过ID获取用户
- 搜索用户
- 用户文档
标签
- 创建标签
- 删除标签
- 为标签定义特定权限
- 获取所有标签
- 标签文档
组
- 创建组
- 更新组
- 删除组
- 组文档
讨论
- 创建讨论
- 更新讨论
- 删除讨论
- 讨论文档
帖子
- 创建帖子
- 更新帖子
- 删除帖子
- 帖子文档
集成钩子
要执行的集成钩子详细说明见集成文档]