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

วิธีการเปิดใช้งาน Single Sign-On

บทนำ

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

เรามีฟีเจอร์ single sign-on นี้ เพื่อเปิดใช้งาน คุณเพียงแค่ต้อง:

  • เปิดใช้งานปุ่ม Auto Sign-In
  • กรอก URL สำหรับหน้าแรก
  • เพิ่มฟังก์ชัน Silent Sign-In ไปยังหน้าแรกของแอปพลิเคชัน
หมายเหตุ

กระบวนการล็อกอินพื้นฐานที่ Casdoor ให้บริการช่วยให้ผู้ใช้สามารถล็อกอินเข้าสู่แอปพลิเคชันอื่น ๆ ในองค์กรโดยการเลือกผู้ใช้ที่กำลังล็อกอินอยู่หรือใช้บัญชีอื่น

หลังจากเปิดใช้งาน auto sign-in กล่องเลือกจะไม่แสดงและผู้ใช้ที่ล็อกอินจะล็อกอินโดยตรง

การกำหนดค่า

  1. กรอกข้อมูลในฟิลด์ "home" มันอาจจะเป็นหน้าแรกของแอปพลิเคชันหรือหน้าล็อกอิน

sso_home.png 2. เปิดใช้งานปุ่ม Auto Sign-In

sso_signin.png

เพิ่ม Silent Sign-In

จริง ๆ แล้ว เราทำการล็อกอินอัตโนมัติโดยการใส่พารามิเตอร์ใน URL ดังนั้น แอปพลิเคชันของคุณจำเป็นต้องมีวิธีเรียกใช้การล็อกอินหลังจากกระโดดไปยัง URL เรามี casdoor-react-sdk เพื่อช่วยคุณในการเรียกใช้ฟีเจอร์นี้อย่างรวดเร็ว คุณสามารถดูรายละเอียดได้ที่ use-in-react

ข้อมูล

วิธีการทำงาน

  1. ใน URL ไปยังหน้าแรกของแอปพลิเคชัน เราจะใส่พารามิเตอร์ silentSignin
  2. ในหน้าแรกของคุณ ตรวจสอบว่าคุณต้องการล็อกอินอย่างเงียบ ๆ (อัตโนมัติ) โดยการตรวจสอบพารามิเตอร์ silentSignin ถ้า silentSignin === 1 ฟังก์ชันควรจะคืนค่าคอมโพเนนต์ SilentSignin ซึ่งจะช่วยคุณเริ่มต้นคำขอล็อกอิน เนื่องจากคุณได้เปิดใช้งาน auto-login ผู้ใช้จะล็อกอินโดยอัตโนมัติโดยไม่ต้องคลิก
  3. The silent sign-in flow ensures proper context matching—it only triggers when the account's organization matches the current application context, preventing duplicate login attempts and unintended automatic sign-ins.

เพิ่ม Popup Sign-In

ฟีเจอร์ "popup sign-in" จะเปิดหน้าต่างเล็ก ๆ หลังจากล็อกอินเข้าสู่ Casdoor ในหน้าต่างย่อย มันจะส่งข้อมูลการตรวจสอบสิทธิ์ไปยังหน้าต่างหลักและจะปิดโดยอัตโนมัติ เราทำฟีเจอร์นี้โดยการใส่พารามิเตอร์ใน URL

ข้อมูล

วิธีการใช้

ใช้วิธี popupSignin() ใน casdoor-js-sdk เพื่อเรียกใช้ฟีเจอร์นี้อย่างรวดเร็ว คุณสามารถดูตัวอย่างได้ที่ casdoor-nodejs-react-example

วิธีการทำงาน

  1. ใน URL ไปยังหน้าแรกของแอปพลิเคชัน เราจะใส่พารามิเตอร์ popup
  2. เมื่อ popup=1 อยู่ในพารามิเตอร์ล็อกอิน Casdoor จะส่ง code และ state เป็นข้อความไปยังหน้าต่างหลักและจบการรับ token ในหน้าต่างหลักโดยใช้ SDK

การใช้ SSO

การกำหนดค่าเสร็จสมบูรณ์ ด้านล่างนี้ เราจะแสดงวิธีการใช้ auto login

ข้อมูล

ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณสามารถเปลี่ยนเส้นทางไปยังหน้าโปรไฟล์ของผู้ใช้ได้ API getMyProfileUrl(account, returnUrl) มีให้บริการใน SDK ของเราสำหรับแต่ละภาษา

เปิดหน้าโปรไฟล์และไปที่หน้า "Home" (เส้นทาง URL /) คุณจะเห็นรายการแอปพลิเคชันที่องค์กรให้บริการ ควรทราบว่าเฉพาะผู้ใช้ในองค์กรที่ไม่ใช่ "built-in" เท่านั้นที่สามารถเห็นรายการแอปพลิเคชันบนหน้า "Home" ผู้ดูแลระบบทั่วโลกทั้งหมด (ผู้ที่อยู่ในองค์กร "built-in") ไม่สามารถเห็นได้

sso_homepage.png

คลิกที่ไทล์ในรายการแอปพลิเคชัน และมันจะกระโดดไปยัง URL หน้าแรกของแอปพลิเคชันนั้นด้วยพารามิเตอร์ GET ?silentSignin=1 มันจะล็อกอินโดยอัตโนมัติเข้าสู่แอปพลิเคชันหากแอปพลิเคชันได้รวมกับ Casdoor SSO (ดังนั้นมันจะรู้จักพารามิเตอร์ ?silentSignin=1 และทำการล็อกอินเงียบ ๆ ในพื้นหลัง)

SSO Logout

When using SSO, you might need to log a user out from all applications simultaneously. Casdoor provides an SSO logout endpoint that terminates all active sessions and expires all tokens for a user across all applications in the organization.

To implement SSO logout in your application, make a request to the /api/sso-logout endpoint. This endpoint will ensure the user is completely logged out from all integrated applications. For detailed information about the SSO logout API, including authentication methods and request examples, see the SSO Logout section in the Public API documentation.