คอนฟิก Gogs ใช้ login กับ LDAP (Active Directory)

Posted on
development

ทดลองติดตั้ง GOGS เป็น git server ที่มีหน้าเวบให้จัดการ คล้ายๆ github, gitlab, bitbucket

gogs มี plugin/extension ที่ให้เราเชื่อมระบบผู้ใช้เจ้ากับ LDAP server หรือ ​Active directory ได้ พอภาษาที่ใช้พัฒนาแอพเปลี่ยน การกรอกค่า configuration ของ LDAP ก็มักจะต้องมีเทคนิคในการใส่ค่าคอนฟิก พลิกแพลงไปอีก

ทดลองใส่ตามนี้แล้ว work

ค่า Security Protocol เลือก Unencrypted

ซึ่งน่าจะทำให้ช่อง port ใช้ 389

Bind DN/Bind DN ค่านี้ใส่ account ldap ที่ใช้ในการค้นหา account อื่นๆ บางแห่งจะเรียก search account หรือ service account ค่าที่จะนำไปใส่เช่น account@YOURDOMAIN.COM และ password ด้วย

User Search Base ตรงนี้ถ้าใส่ได้ขั้นลึกๆ ก็จะทำให้ search ได้เร็ว แต่ค่าที่ผมใช้เป็น level ตื้นสุดๆ ค่าเป็นแบบนี้ dc=YOURDOMAIN, dc=com

User filter

ใน Thunderbird ใส่แค่นี้ก็ใช้ได้

(objectClass=person)

แต่ gogs ใส่แบบนี้ สังเกต cn common name มันจะตรงกับค่าของ username ของเรา

(&(objectClass=person)(cn=%s))

ตอนทำก็เปิด terminal debug การ authentication ไปด้วย file log อยู่ที่ {path-to}/gogs/log/gogs.log

ถ้าทำแล้วยังไม่ work ลองศึกษาเอกสารของเขาดู ที่นี่