Zentao
Zentao เป็นระบบ/เครื่องมือจัดการโครงการแบบ agile (scrum) แต่ไม่รองรับ OIDC โดยตัวมันเอง เพื่อที่จะรวม Zentao กับ Casdoor SSO เราต้องใช้โมดูล OIDC ของบุคคลที่สามที่เรียกว่า zentao-oidc และเอกสารนี้จะแสดงวิธีการทำ
ขั้นตอนที่ 1: ติดตั้ง Casdoor และ Zentao
ขั้นแรก ติดตั้ง Casdoor และ Zentao หลังจากการติดตั้งสำเร็จ ตรวจสอบให้แน่ใจว่า:
- สามารถเข้าสู่ระบบและใช้งาน Casdoor ได้สำเร็จ
- คุณสามารถเข้าสู่ระบบและใช้งาน Zentao ได้สำเร็จ
ขั้นตอนที่ 2: รวมโมดูล OIDC ของบุคคลที่สามกับ Zentao
ติดตั้ง 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框架"