วิธีการเปิดใช้งาน Single Sign-On
บทนำ
คุณได้เชื่อมต่อ Casdoor และกำหนดค่าแอปพลิเคชันมากกว่าหนึ่งแอปพลิเคชันในองค์กร คุณต้องการให้ผู้ใช้ล็อกอินเพียงครั้งเดียวกับแอปใด ๆ ในองค์กรและจากนั้นพวกเขาจะสามารถล็อกอินเมื่อไปยังแอปอื่นโดยไม่ต้องคลิกเพิ่มเติม
เรามีฟีเจอร์ single sign-on นี้ เพื่อเปิดใช้งาน คุณเพียงแค่ต้อง:
- เปิดใช้งานปุ่ม Auto Sign-In
- กรอก URL สำหรับหน้าแรก
- เพิ่มฟังก์ชัน Silent Sign-In ไปยังหน้าแรกของแอปพลิเคชัน
กระบวนการล็อกอินพื้นฐานที่ Casdoor ให้บริการช่วยให้ผู้ใช้สามารถล็อกอินเข้าสู่แอปพลิเคชันอื่น ๆ ในองค์กรโดยการเลือกผู้ใช้ที่กำลังล็อกอินอยู่หรือใช้บัญชีอื่น
หลังจากเปิดใช้งาน auto sign-in กล่องเลือกจะไม่แสดงและผู้ใช้ที่ล็อกอินจะล็อกอินโดยตรง
การกำหนดค่า
- กรอกข้อมูลในฟิลด์ "home" มันอาจจะเป็นหน้าแรกของแอปพลิเคชันหรือหน้าล็อกอิน
2. เปิดใช้งานปุ่ม Auto Sign-In
เพิ่ม Silent Sign-In
จริง ๆ แล้ว เราทำการล็อกอินอัตโนมัติโดยการใส่พารามิเตอร์ใน URL ดังนั้น แอปพลิเคชันของคุณจำเป็นต้องมีวิธีเรียกใช้การล็อกอินหลังจากกระโดดไปยัง URL เรามี casdoor-react-sdk เพื่อช่วยคุณในการเรียกใช้ฟีเจอร์นี้อย่างรวดเร็ว คุณสามารถดูรายละเอียดได้ที่ use-in-react
วิธีการทำงาน
- ใน URL ไปยังหน้าแรกของแอปพลิเคชัน เราจะใส่พารามิเตอร์
silentSignin
- ในหน้าแรกของคุณ ตรวจสอบว่าคุณต้องการล็อกอินอย่างเงียบ ๆ (อัตโนมัติ) โดยการตรวจสอบพารามิเตอร์
silentSignin
ถ้าsilentSignin === 1
ฟังก์ชันควรจะคืนค่าคอมโพเนนต์SilentSignin
ซึ่งจะช่วยคุณเริ่มต้นคำขอล็อกอิน เนื่องจากคุณได้เปิดใช้งาน auto-login ผู้ใช้จะล็อกอินโดยอัตโนมัติโดยไม่ต้องคลิก
เพิ่ม Popup Sign-In
ฟีเจอร์ "popup sign-in" จะเปิดหน้าต่างเล็ก ๆ หลังจากล็อกอินเข้าสู่ Casdoor ในหน้าต่างย่อย มันจะส่งข้อมูลการตรวจสอบสิทธิ์ไปยังหน้าต่างหลักและจะปิดโดยอัตโนมัติ เราทำฟีเจอร์นี้โดยการใส่พารามิเตอร์ใน URL
วิธีการใช้
ใช้วิธี popupSignin()
ใน casdoor-js-sdk เพื่อเรียกใช้ฟีเจอร์นี้อย่างรวดเร็ว คุณสามารถดูตัวอย่างได้ที่ casdoor-nodejs-react-example
วิธีการทำงาน
- ใน URL ไปยังหน้าแรกของแอปพลิเคชัน เราจะใส่พารามิเตอร์
popup
- เมื่อ
popup=1
อยู่ในพารามิเตอร์ล็อกอิน Casdoor จะส่งcode
และstate
เป็นข้อความไปยังหน้าต่างหลักและจบการรับtoken
ในหน้าต่างหลักโดยใช้ SDK
การใช้ SSO
การกำหนดค่าเสร็จสมบูรณ์ ด้านล่างนี้ เราจะแสดงวิธีการใช้ auto login
ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณสามารถเปลี่ยนเส้นทางไปยังหน้าโปรไฟล์ของผู้ใช้ได้ API getMyProfileUrl(account, returnUrl) มีให้บริการใน SDK ของเราสำหรับแต่ละภาษา
เปิดหน้าโปรไฟล์และไปที่หน้า "Home" (เส้นทาง URL /
) คุณจะเห็นรายการแอปพลิเคชันที่องค์กรให้บริการ ควรทราบว่าเฉพาะผู้ใช้ในองค์กรที่ไม่ใช่ "built-in" เท่านั้นที่สามารถเห็นรายการแอปพลิเคชันบนหน้า "Home" ผู้ดูแลระบบทั่วโลกทั้งหมด (ผู้ที่อยู่ในองค์กร "built-in") ไม่สามารถเห็นได้
คลิกที่ไทล์ในรายการแอปพลิเคชัน และมันจะกระโดดไปยัง URL หน้าแรกของแอปพลิเคชันนั้นด้วยพารามิเตอร์ GET ?silentSignin=1
มันจะล็อกอินโดยอัตโนมัติเข้าสู่แอปพลิเคชันหากแอปพลิเคชันได้รวมกับ Casdoor SSO (ดังนั้นมันจะรู้จักพารามิเตอร์ ?silentSignin=1
และทำการล็อกอินเงียบ ๆ ในพื้นหลัง)