ข้ามไปยังเนื้อหาหลัก

ภาพรวม

ในส่วนนี้ เราจะแสดงวิธีการเชื่อมต่อแอปพลิเคชันของคุณกับ Casdoor

ในฐานะผู้ให้บริการบริการ (SP), Casdoor รองรับโปรโตคอลการรับรองความถูกต้องสองแบบ:

  • OAuth 2.0 (OIDC)
  • SAML

ในฐานะผู้ให้บริการตัวตน (IdP), Casdoor รองรับโปรโตคอลการรับรองความถูกต้องสี่แบบ:

  • OAuth 2.0
  • OIDC
  • SAML
  • CAS 1.0, 2.0, 3.0

OAuth 2.0 (OIDC)

OAuth 2.0 คืออะไร?

OAuth 2 เป็นเฟรมเวิร์กการอนุญาตที่ช่วยให้แอปพลิเคชัน เช่น Facebook, GitHub และ Casdoor สามารถเข้าถึงบัญชีผู้ใช้บนบริการ HTTP ได้จำกัด มันทำงานโดยมอบหมายการตรวจสอบตัวตนของผู้ใช้ให้กับบริการที่เป็นเจ้าของบัญชีผู้ใช้และอนุญาตให้แอปพลิเคชันบุคคลที่สามเข้าถึงบัญชีผู้ใช้นั้น OAuth 2 ให้การไหลของการอนุญาตสำหรับแอปพลิเคชันเว็บและเดสก์ท็อป รวมถึงอุปกรณ์เคลื่อนที่

กระบวนการอนุญาตของ Casdoor สร้างขึ้นบนโปรโตคอล OAuth 2.0 เราแนะนำให้ใช้โปรโตคอล OAuth 2.0 ด้วยเหตุผลต่อไปนี้:

  1. โปรโตคอลนี้ง่ายและสามารถนำไปใช้ได้ง่าย และสามารถแก้ไขปัญหาในหลายสถานการณ์
  2. มีระดับความสุกและการสนับสนุนจากชุมชนอย่างกว้างขวาง

ดังนั้น แอปพลิเคชันของคุณจะสื่อสารกับ Casdoor ผ่าน OAuth 2.0 (OIDC) มีสามวิธีในการเชื่อมต่อกับ Casdoor:

ไคลเอนต์ OIDC มาตรฐาน

ไคลเอนต์ OIDC มาตรฐาน: ใช้การดำเนินการไคลเอนต์ OIDC มาตรฐาน ซึ่งมีให้บริการอย่างแพร่หลายในทุกภาษาโปรแกรมหรือเฟรมเวิร์ก

OIDC คืออะไร?

OpenID Connect (OIDC) เป็นโปรโตคอลการรับรองความถูกต้องที่เปิดกว้างซึ่งทำงานบนพื้นฐานของเฟรมเวิร์ก OAuth 2.0 มุ่งเป้าไปที่ผู้บริโภค, OIDC ช่วยให้บุคคลสามารถใช้การลงชื่อเข้าใช้เดียว (SSO) เพื่อเข้าถึงไซต์ที่พึ่งพาด้วยการใช้ OpenID Providers (OPs) เช่นผู้ให้บริการอีเมลหรือเครือข่ายสังคมเพื่อตรวจสอบตัวตนของพวกเขา มันให้ข้อมูลเกี่ยวกับผู้ใช้, บริบทของการตรวจสอบตัวตนของพวกเขา และการเข้าถึงข้อมูลโปรไฟล์ของพวกเขากับแอปพลิเคชันหรือบริการ

Casdoor รองรับโปรโตคอล OIDC เต็มรูปแบบ หากแอปพลิเคชันของคุณกำลังใช้ผู้ให้บริการตัวตน OAuth 2.0 (OIDC) อื่นๆ ผ่าน ไลบรารีไคลเอนต์ OIDC มาตรฐาน และคุณต้องการย้ายไปใช้ Casdoor การใช้ OIDC discovery จะทำให้การเปลี่ยนไปใช้ Casdoor เป็นเรื่องที่ ง่าย

SDK ของ Casdoor

SDK ของ Casdoor: สำหรับภาษาโปรแกรมส่วนใหญ่ Casdoor มีไลบรารี SDK ที่ใช้งานง่ายบนพื้นฐานของ OIDC พร้อมฟังก์ชันการทำงานเพิ่มเติมที่มีเฉพาะใน Casdoor

เมื่อเทียบกับโปรโตคอล OIDC มาตรฐาน SDK ของ Casdoor มีฟังก์ชันการทำงานเพิ่มเติม เช่น การจัดการผู้ใช้และการอัปโหลดทรัพยากร ฯลฯ การเชื่อมต่อกับ Casdoor ผ่าน SDK ของ Casdoor ต้องใช้เวลามากกว่าการใช้ไลบรารีไคลเอนต์ OIDC มาตรฐาน แต่มันให้ ความยืดหยุ่น ที่ดีที่สุดและ API ที่ ทรงพลัง ที่สุด

ปลั๊กอิน Casdoor

ปลั๊กอิน Casdoor: หากแอปพลิเคชันของคุณสร้างขึ้นบนแพลตฟอร์มยอดนิยม (เช่น Spring Boot, WordPress ฯลฯ) และ Casdoor (หรือบุคคลที่สาม) ได้มีการให้บริการปลั๊กอินหรือมิดเดิลแวร์สำหรับมันแล้ว คุณควรใช้มัน การใช้ปลั๊กอินนั้นง่ายกว่าการเรียกใช้ SDK ของ Casdoor ด้วยตนเอง เพราะปลั๊กอินนั้นถูกสร้างมาเฉพาะสำหรับแพลตฟอร์ม

ปลั๊กอิน:

มิดเดิลแวร์:

SAML

SAML คืออะไร?

Security Assertion Markup Language (SAML) เป็นมาตรฐานเปิดที่ช่วยให้ผู้ให้บริการตัวตน (IdP) สามารถส่งข้อมูลรับรองการอนุญาตไปยังผู้ให้บริการบริการ (SP) สิ่งที่คำศัพท์เฉพาะนี้หมายถึงคือคุณสามารถใช้ชุดข้อมูลรับรองเดียวเพื่อเข้าสู่เว็บไซต์ต่างๆ ได้หลายแห่ง การจัดการเพียงหนึ่งการเข้าสู่ระบบต่อผู้ใช้งานนั้นง่ายกว่าการจัดการการเข้าสู่ระบบแยกกันสำหรับอีเมล, ซอฟต์แวร์การจัดการความสัมพันธ์ลูกค้า (CRM), Active Directory ฯลฯ

ธุรกรรม SAML ใช้ Extensible Markup Language (XML) สำหรับการสื่อสารที่มีมาตรฐานระหว่างผู้ให้บริการตัวตนและผู้ให้บริการบริการ SAML เป็นส่วนเชื่อมโยงระหว่างการตรวจสอบสิทธิ์ของผู้ใช้งานกับการอนุญาตให้ใช้บริการ

Casdoor สามารถใช้เป็น SAML IdP ได้ ปัจจุบัน Casdoor รองรับคุณสมบัติหลักของ SAML 2.0 สำหรับรายละเอียดเพิ่มเติม ดูที่ SAML

ตัวอย่าง:

Casdoor เป็น SAML IdP ใน Keycloak

ข้อเสนอแนะ:

  1. โปรโตคอลนี้ ทรงพลัง และครอบคลุมหลายสถานการณ์ ทำให้เป็นหนึ่งในโปรโตคอล SSO ที่ครอบคลุมที่สุด
  2. โปรโตคอลนี้ ใหญ่ มีพารามิเตอร์ที่เลือกใช้ได้มากมาย จึงยากที่จะครอบคลุมทุกสถานการณ์การใช้งาน 100% ในการนำไปใช้จริง
  3. หากแอปพลิเคชันเป็น แอปพลิเคชันใหม่ ไม่แนะนำให้ใช้ SAML เนื่องจากมีความซับซ้อนทางเทคนิคสูง

CAS

CAS คืออะไร?

Central Authentication Service (CAS) เป็นโปรโตคอลการลงชื่อเข้าใช้เดียวสำหรับเว็บ วัตถุประสงค์คือเพื่อให้ผู้ใช้สามารถเข้าถึงแอปพลิเคชันหลายๆ แอปพลิเคชันได้ โดยให้ข้อมูลรับรอง (เช่น รหัสผู้ใช้และรหัสผ่าน) เพียงครั้งเดียว มันยังช่วยให้แอปพลิเคชันเว็บสามารถตรวจสอบผู้ใช้โดยไม่ต้องเข้าถึงข้อมูลรักษาความปลอดภัยของผู้ใช้ เช่น รหัสผ่าน

Casdoor ได้นำไปใช้คุณสมบัติของ CAS 1.0, 2.0 และ 3.0 สำหรับรายละเอียดเพิ่มเติม ดูที่ CAS

ข้อเสนอแนะ:

  1. โปรโตคอลเองมีน้ำหนักเบาและง่ายต่อการนำไปใช้ แต่สามารถแก้ไขได้เพียงสถานการณ์เดียว
  2. ความไว้วางใจร่วมกันระหว่าง CAS Client และ CAS Server ถูกสร้างขึ้นผ่านการเรียกใช้งานอินเตอร์เฟสโดยไม่มีกลไกการเข้ารหัสหรือลายเซ็นเพื่อให้มั่นใจในความปลอดภัยเพิ่มเติม
  3. โปรโตคอล CAS ไม่มีข้อได้เปรียบเหนือโปรโตคอลอื่นๆ

ตารางการรวม

บางแอปพลิเคชันมีตัวอย่างที่เชื่อมต่อกับ Casdoor แล้ว คุณสามารถทำตามเอกสารเพื่อเชื่อมต่อกับ Casdoor ได้อย่างรวดเร็ว คุณสามารถดูแอปพลิเคชันทั้งหมดใน ตารางการรวม