ตั้งค่า Single Sign-On (SSO) ด้วย Okta
ด้วยการตั้งค่าที่น้อยที่สุด ตัวเชื่อมต่อนี้ช่วยให้คุณผสานรวมกับ Okta สำหรับ SSO สำหรับองค์กร (enterprise SSO) ได้อย่างง่ายดาย
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ SSO และวิธีตั้งค่า SSO ใน Logto โปรดดูเอกสาร SSO สำหรับองค์กร (SAML & OIDC) เพื่อเริ่มต้นใช้งาน
ขั้นตอนที่ 1: สร้างแอปพลิเคชัน OIDC บน Okta admin portal
- ไปที่พอร์ทัลผู้ดูแลระบบ Okta และลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ
- ไปที่หน้า
Applications/Applicationsโดยใช้เมนูด้านข้าง - คลิกปุ่ม
Create App Integrationเพื่อสร้างแอป OIDC ใหม่ - เลือกตัวเลือก
OIDC - OpenID Connectเป็นSign-in method - เลือกตัวเลือก
Web Applicationเป็นApplication type
คลิกปุ่ม Next เพื่อดำเนินการต่อ
ขั้นตอนที่ 2: กำหนดค่าการตั้งค่าแอปพลิเคชัน
- กำหนด
App integration nameซึ่งจะใช้เป็นตัวระบุของแอปพลิเคชัน OIDC ของคุณ - เพิ่ม
Sign-in redirect URIsใหม่โดยใช้ callback URL ของตัวเชื่อมต่อ Logto SSO
นี่คือ URI ที่ Okta จะเปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้หลังจากการยืนยันตัวตน (Authentication) สำเร็จ เมื่อผู้ใช้ยืนยันตัวตนกับ IdP สำเร็จ IdP จะเปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้กลับมาที่ URI ที่กำหนดนี้พร้อมกับรหัสการอนุญาต (authorization code) Logto จะดำเนินการยืนยันตัวตน (Authentication) ให้สมบูรณ์โดยอิงจากรหัสการอนุญาตที่ได้รับจาก URI นี้
- กำหนดผู้ใช้ให้กับแอปพลิเคชัน
ตามการตั้งค่า Assignments คุณสามารถเลือกกำหนดแอปพลิเคชันให้กับผู้ใช้ทั้งหมด หรือเฉพาะผู้ใช้ / กลุ่มที่ต้องการ
คลิกปุ่ม Save เพื่อบันทึกการตั้งค่าแอปพลิเคชัน
ขั้นตอนที่ 3: ตั้งค่าตัวเชื่อมต่อ Logto ด้วย client credentials
หลังจากสร้างแอปพลิเคชัน OIDC สำเร็จแล้ว คุณจะถูกเปลี่ยนเส้นทางไปยังหน้ารายละเอียดของแอปพลิเคชัน
คัดลอก client ID และ client secret แล้วกรอกลงในช่องที่เกี่ยวข้องบนแท็บ Connection ของตัวเชื่อมต่อ SSO ของ Logto
ใช้โดเมน Okta ของคุณเป็น issuer ตัวอย่าง: https://dev-12345678.okta.com เมื่อกรอกข้อมูลครบทุกช่องแล้ว ให้คลิกปุ่ม Save เพื่อบันทึกการตั้งค่าตัวเชื่อมต่อ
หากลิงก์ issuer ที่คุณให้มาถูกต้อง คุณจะเห็นรายการการตั้งค่า Okta IdP ที่ถูกแยกแสดงแบบเต็มด้านล่างช่อง issuer
ขั้นตอนที่ 4: ขอบเขตเพิ่มเติม (ไม่บังคับ)
ขอบเขต (Scopes) กำหนดสิทธิ์ (Permissions) ที่แอปของคุณร้องขอจากผู้ใช้ และควบคุมว่าแอปของคุณสามารถเข้าถึงข้อมูลใดจากบัญชี Okta ของพวกเขาได้ การร้องขอสิทธิ์ Okta เพิ่มเติมจำเป็นต้องมีการกำหนดค่าทั้งสองฝั่ง:
ใน Okta admin console:
- ไปที่ Applications > Applications และเลือกแอป OIDC ของคุณ
- ไปที่แท็บ Assignments เพื่อให้แน่ใจว่าแอปของคุณสามารถเข้าถึงผู้ใช้และกลุ่มที่ต้องการได้
- สำหรับขอบเขตแบบกำหนดเอง ให้ไปที่ Security > API > Authorization Servers และเลือก authorization server ของคุณ
- เพิ่มขอบเขตแบบกำหนดเองหากจำเป็น:
- คลิก Scopes แล้วเลือก Add Scope
- กำหนดชื่อขอบเขต เช่น
okta.users.readหรือokta.groups.readสำหรับการเข้าถึง Okta APIs - กำหนดข้อกำหนดการขอความยินยอม (consent) สำหรับแต่ละขอบเขต
สำหรับรายการขอบเขตที่มีทั้งหมดและคำอธิบาย โปรดดูที่ เอกสาร Okta OIDC
ใน Logto Okta connector:
- Logto จะเพิ่มขอบเขต
openid,profileและemailโดยอัตโนมัติเพื่อดึงข้อมูลตัวตนพื้นฐานของผู้ใช้ คุณสามารถเว้นว่างช่องScopesได้หากต้องการเพียงข้อมูลผู้ใช้พื้นฐาน - เพิ่ม
offline_accessในช่องScopesหากคุณต้องการจัดเก็บโทเค็นเพื่อเข้าถึง API แบบถาวร ขอบเขตนี้จะเปิดใช้งานโทเค็นรีเฟรช (Refresh token) สำหรับการเข้าถึง API ระยะยาว - เพิ่มขอบเขตเพิ่มเติม (คั่นด้วยช่องว่าง) ในช่อง
Scopesเพื่อร้องขอข้อมูลเพิ่มเติมจาก Okta เช่นokta.users.read okta.groups.read
หากแอปของคุณร้องขอขอบเขตเหล่านี้เพื่อเข้าถึง Okta APIs และดำเนินการต่าง ๆ โปรดตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน Store tokens for persistent API access ใน Logto Okta connector ดูรายละเอียดในหัวข้อถัดไป
ขั้นตอนที่ 5: จัดเก็บโทเค็นเพื่อเข้าถึง Okta APIs (ไม่บังคับ)
หากคุณต้องการเข้าถึง Okta scopes และดำเนินการต่าง ๆ ด้วยการอนุญาตของผู้ใช้ Logto จำเป็นต้องขอขอบเขต (scopes) เฉพาะและจัดเก็บโทเค็น
- เพิ่มขอบเขตที่จำเป็นในหน้าตั้งค่าสิทธิ์ API ของ Okta developer console และในตัวเชื่อมต่อ Okta ของ Logto
- เปิดใช้งาน จัดเก็บโทเค็นสำหรับการเข้าถึง API แบบถาวร ในตัวเชื่อมต่อ Okta ของ Logto โดย Logto จะจัดเก็บ Okta access และ refresh tokens อย่างปลอดภัยใน Secret Vault
- เพื่อให้แน่ใจว่า refresh tokens จะถูกส่งกลับ ให้เพิ่มขอบเขต
offline_accessในสิทธิ์ของแอป Okta ของคุณ และรวมไว้ในขอบเขตของตัวเชื่อมต่อ Okta ของ Logto ด้วย ขอบเขตนี้จะช่วยให้แอปของคุณสามารถเข้าถึงทรัพยากรได้เป็นระยะเวลานาน
ขั้นตอนที่ 6: กำหนดโดเมนอีเมลและเปิดใช้งานตัวเชื่อมต่อ SSO
ระบุ email domains ขององค์กรของคุณในแท็บ SSO experience ของตัวเชื่อมต่อ Logto การดำเนินการนี้จะเปิดใช้งานตัวเชื่อมต่อ SSO เป็นวิธีการยืนยันตัวตนสำหรับผู้ใช้เหล่านั้น
ผู้ใช้ที่มีที่อยู่อีเมลในโดเมนที่ระบุจะถูกเปลี่ยนเส้นทางให้ใช้ตัวเชื่อมต่อ SSO ของคุณเป็นวิธีการยืนยันตัวตนเพียงวิธีเดียว
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างการเชื่อมต่อ OIDC กับ Okta โปรดดูที่ Create OIDC App Integrations