Zentao
Zentao - це система/інструмент управління аджайл (скрам) проектами, але вона сама по собі не підтримує OIDC. Щоб інтегрувати Zentao з Casdoor SSO, нам потрібно використовувати сторонній OIDC модуль під назвою zentao-oidc, і цей документ покаже вам, як це зробити.
Крок 1: Розгортання Casdoor та Zentao
Спочатку розгорніть Casdoor та Zentao. Після успішного розгортання, переконайтеся, що:
- Касдор може бути залогінений і успішно використаний.
- Ви можете успішно залогінитися та використовувати Zentao.
Крок 2: Інтеграція стороннього модуля Zentao OIDC
Встановіть zentao-oidc, запустивши наступну команду:
git clone https://github.com/casdoor/zentao-oidc.git
Або ви можете завантажити ZIP-архів та розпакувати його.
Цей модуль використовується для інтеграції Zentao з SSO для OpenId. Ось як його використовувати:
Скопіюйте весь каталог
oidc
до модуля Zentao та використовуйте його як модуль Zentao. Перейменуйте завантажений пакет на "oidc".Налаштуйте фільтр.
Оскільки фреймворк Zentao фільтрує параметри в URL і не дозволяє пробіли, вам потрібно додати наступний код в кінець
/config/my.php
.$filter->oidc = new stdclass();
$filter->oidc->index = new stdclass();
$filter->oidc->index->paramValue['scope'] = 'reg::any';Змініть
/module/commom/model.php
.Додайте 'oidc' до списку анонімного доступу та додайте рядок до методу
isOpenMethod
уmodel.php
.public function isOpenMethod($module, $method)
{
if ($module == 'oidc' and $method == 'index') {
return true;
}
}Якщо ви не хочете, щоб з'являвся екран входу Zentao, перейдіть безпосередньо на екран входу Casdoor.
Змініть останній рядок коду в
public function checkPriv()
у/module/common/model.php
.//return print(js::locate(helper::createLink('user', 'login', "referer=$referer")));
return print(js::locate(helper::createLink('oidc', 'index', "referer=$referer")));Змініть метод
setSuperVars()
всерединіframework/base/router.class.php
та закоментуйте наступні вирази.public function setSuperVars()
// unset($_REQUEST);
Крок 3: Налаштування додатку Casdoor
- Створіть новий додаток Casdoor або використовуйте існуючий.
- Додайте ваш URL перенаправлення.
- Додайте провайдера, якого ви хочете, та заповніть інші необхідні налаштування.
Крок 4: Налаштування Zentao
Налаштуйте файл config.php
у каталозі oidc
.
$config->oidc->clientId = "<Your ClientId>";
$config->oidc->clientSecret = "<Your ClientSecret>";
$config->oidc->issuer = "http://localhost:8000";
Встановіть ваш URL перенаправлення в module/oidc
у методі public function index()
.
$oidc->setRedirectURL($path."/zentao/oidc-index.html");
URL тут означає виклик методу 'index' у модулі 'oidc'. Вам також потрібно встановити роздільник змінних. За замовчуванням фреймворк використовує дефіс ("-"). Будь ласка, зверніться до офіційного фреймворку Zentao для отримання додаткової інформації. "Фреймворк zentaoPHP"