vinkas/discourse-php

允许您使用API和SSO将Discourse作为PHP网站的论坛或社区引擎。

v1.0.4 2016-11-14 14:59 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:04:01 UTC


README

允许您使用API和SSO将Discourse作为PHP网站的论坛或社区引擎。

安装

该包已在Packagist上注册为 vinkas/discourse-php,可以使用composer进行安装

composer require vinkas/discourse-php

文档

创建discourse客户端

$discourse = new Vinkas\Discourse\PHP\Client('discourse.example.com', true);  // set true if ssl enabled

API

$api = $discourse->api('API_KEY', 'API_USERNAME');
$api->topics()->create('TITLE', 'CONTENT', 'CATEGORY_SLUG')

SSO

$payload = $_GET['sso'];
$signature = $_GET['sig'];

$sso = $discourse->sso('SECRET', $payload, $signature);

if (!($sso->isValid())) {
    header("HTTP/1.1 403 Forbidden");
    echo("Bad SSO request");
    die();
}

$userParams = array(
    'external_id' => 'USER_ID',
    'email'     => 'EMAIL_ADDRESS',
    'username' => 'USERNAME',  // optional
    'name'     => 'FULL_NAME'  // optional
    // for more available fields https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045
);

$url = $sso->getResponseUrl($userParams)
header('Location: ' . $url);
exit(0);