ตั้งค่า 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