Jenkins OIDC
Casdoor สามารถใช้โปรโตคอล OIDC เป็น IDP เพื่อเชื่อมต่อแอปพลิเคชันต่างๆ ในตัวอย่างนี้ เราจะใช้ Jenkins เพื่อสาธิตวิธีการใช้ OIDC เพื่อเชื่อมต่อกับแอปพลิเคชันของคุณ
ต่อไปนี้คือบางชื่อที่ใช้ในการตั้งค่า:
CASDOOR_HOSTNAME: ชื่อโดเมนหรือ IP ที่เซิร์ฟเวอร์ Casdoor ถูกติดตั้งJENKINS_HOSTNAME: ชื่อโดเมนหรือ IP ที่ Jenkins ถูกติดตั้ง
ขั้นตอนที่ 1: ติดตั้ง Casdoor และ Jenkins
ขั้นแรก ติดตั้ง Casdoor และ Jenkins
หลังจากติดตั้งสำเร็จ ให้ตรวจสอบดังนี้:
ตั้งค่า URL ของ Jenkins (Manage Jenkins -> Configure System -> Jenkins Location) เป็น
JENKINS_HOSTNAME
ตรวจสอบให้แน่ใจว่าสามารถเข้าสู่ระบบและใช้งาน Casdoor ได้ตามปกติ
ตั้งค่า
originของ Casdoor (conf/app.conf) เป็นCASDOOR_HOSTNAME
ขั้นตอนที่ 2: ตั้งค่าแอปพลิเคชัน Casdoor
สร้างแอปพลิเคชัน Casdoor ใหม่หรือใช้แอปพลิเคชันที่มีอยู่
เพิ่ม URL สำหรับการเปลี่ยนเส้นทาง:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
เพิ่มผู้ให้บริการที่คุณต้องการและให้การตั้งค่าเพิ่มเติม
คุณจะได้รับค่าสองค่าจากหน้าการตั้งค่าแอปพลิเคชัน: Client ID และ Client secret เราจะใช้ค่าเหล่านี้ในขั้นตอนถัดไป
เปิดเบราว์เซอร์ที่คุณชื่นชอบและเยี่ยมชม: http://CASDOOR_HOSTNAME/.well-known/openid-configuration เพื่อดูการตั้งค่า OIDC ของ Casdoor
ขั้นตอนที่ 3: ตั้งค่า Jenkins
ขั้นแรก เราต้องติดตั้ง OpenId Connect Authentication เนื่องจาก Jenkins ไม่รองรับ OIDC โดยตรง
หลังจากการติดตั้งเสร็จสิ้น ไปที่ Manage Jenkins -> Configure Global Security 
ตรวจสอบให้แน่ใจว่าได้สำรองไฟล์ config.xml ของ Jenkins เพื่อกู้คืนในกรณีที่มีข้อผิดพลาดในการตั้งค่า
ใน Access Control เลือก
Login with Openid Connectเป็น Security Realmระบุ
Client IDที่ได้จดไว้ข้างต้นในช่อง Client IDระบุ
Client secretที่ได้จดไว้ข้างต้นในช่อง Client secretในโหมดการตั้งค่า เลือก
Automatic configurationและใส่ http://CASDOOR_HOSTNAME/.well-known/openid-configuration เป็นจุดสิ้นสุดการตั้งค่าที่รู้จักกันดี
หาก Casdoor ของคุณถูกติดตั้งในท้องถิ่น คุณอาจต้องเลือก
Manual configurationและให้ข้อมูลต่อไปนี้:- URL ของเซิร์ฟเวอร์โทเค็น: http://
CASDOOR_HOSTNAME/api/login/oauth/access_token - URL ของเซิร์ฟเวอร์การอนุญาต: http://
CASDOOR_HOSTNAME/login/oauth/authorize - URL ของเซิร์ฟเวอร์ UserInfo: http://
CASDOOR_HOSTNAME/api/get-account - ขอบเขต:
address phone openid profile offline_access email
- URL ของเซิร์ฟเวอร์โทเค็น: http://
คลิกที่ Advanced settings และกรอกข้อมูลต่อไปนี้:
- ในช่อง User name ระบุ
name - ในช่อง Full name ระบุ
displayName - ในช่อง Email ระบุ
email

- ในช่อง User name ระบุ
ในส่วนของ Authorization เปิดใช้งาน “Logged-in users can do anything” และปิดใช้งาน “Allow anonymous read access” คุณสามารถตั้งค่าการอนุญาตที่ซับซ้อนยิ่งขึ้นได้ในภายหลัง แต่ตอนนี้ ตรวจสอบว่า OpenID ทำงานอย่างถูกต้องหรือไม่
ออกจากระบบ Jenkins และควรจะมีการเปลี่ยนเส้นทางคุณไปยัง Casdoor เพื่อการตรวจสอบสิทธิ์
