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

ตั้งค่า 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
สร้างแอปพลิเคชัน Okta

คลิกปุ่ม Next เพื่อดำเนินการต่อ

ขั้นตอนที่ 2: กำหนดค่าการตั้งค่าแอปพลิเคชัน

  1. กำหนด App integration name ซึ่งจะใช้เป็นตัวระบุของแอปพลิเคชัน OIDC ของคุณ
  2. เพิ่ม Sign-in redirect URIs ใหม่โดยใช้ callback URL ของตัวเชื่อมต่อ Logto SSO

นี่คือ URI ที่ Okta จะเปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้หลังจากการยืนยันตัวตน (Authentication) สำเร็จ เมื่อผู้ใช้ยืนยันตัวตนกับ IdP สำเร็จ IdP จะเปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้กลับมาที่ URI ที่กำหนดนี้พร้อมกับรหัสการอนุญาต (authorization code) Logto จะดำเนินการยืนยันตัวตน (Authentication) ให้สมบูรณ์โดยอิงจากรหัสการอนุญาตที่ได้รับจาก URI นี้

การตั้งค่าแอปพลิเคชัน Okta
  1. กำหนดผู้ใช้ให้กับแอปพลิเคชัน

ตามการตั้งค่า Assignments คุณสามารถเลือกกำหนดแอปพลิเคชันให้กับผู้ใช้ทั้งหมด หรือเฉพาะผู้ใช้ / กลุ่มที่ต้องการ

Okta assign users

คลิกปุ่ม Save เพื่อบันทึกการตั้งค่าแอปพลิเคชัน

ขั้นตอนที่ 3: ตั้งค่าตัวเชื่อมต่อ Logto ด้วย client credentials

หลังจากสร้างแอปพลิเคชัน OIDC สำเร็จแล้ว คุณจะถูกเปลี่ยนเส้นทางไปยังหน้ารายละเอียดของแอปพลิเคชัน

Okta client credentials

คัดลอก 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:

  1. ไปที่ Applications > Applications และเลือกแอป OIDC ของคุณ
  2. ไปที่แท็บ Assignments เพื่อให้แน่ใจว่าแอปของคุณสามารถเข้าถึงผู้ใช้และกลุ่มที่ต้องการได้
  3. สำหรับขอบเขตแบบกำหนดเอง ให้ไปที่ Security > API > Authorization Servers และเลือก authorization server ของคุณ
  4. เพิ่มขอบเขตแบบกำหนดเองหากจำเป็น:
    • คลิก Scopes แล้วเลือก Add Scope
    • กำหนดชื่อขอบเขต เช่น okta.users.read หรือ okta.groups.read สำหรับการเข้าถึง Okta APIs
    • กำหนดข้อกำหนดการขอความยินยอม (consent) สำหรับแต่ละขอบเขต

สำหรับรายการขอบเขตที่มีทั้งหมดและคำอธิบาย โปรดดูที่ เอกสาร Okta OIDC

ใน Logto Okta connector:

  1. Logto จะเพิ่มขอบเขต openid, profile และ email โดยอัตโนมัติเพื่อดึงข้อมูลตัวตนพื้นฐานของผู้ใช้ คุณสามารถเว้นว่างช่อง Scopes ได้หากต้องการเพียงข้อมูลผู้ใช้พื้นฐาน
  2. เพิ่ม offline_access ในช่อง Scopes หากคุณต้องการจัดเก็บโทเค็นเพื่อเข้าถึง API แบบถาวร ขอบเขตนี้จะเปิดใช้งานโทเค็นรีเฟรช (Refresh token) สำหรับการเข้าถึง API ระยะยาว
  3. เพิ่มขอบเขตเพิ่มเติม (คั่นด้วยช่องว่าง) ในช่อง 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) เฉพาะและจัดเก็บโทเค็น

  1. เพิ่มขอบเขตที่จำเป็นในหน้าตั้งค่าสิทธิ์ API ของ Okta developer console และในตัวเชื่อมต่อ Okta ของ Logto
  2. เปิดใช้งาน จัดเก็บโทเค็นสำหรับการเข้าถึง API แบบถาวร ในตัวเชื่อมต่อ Okta ของ Logto โดย Logto จะจัดเก็บ Okta access และ refresh tokens อย่างปลอดภัยใน Secret Vault
  3. เพื่อให้แน่ใจว่า refresh tokens จะถูกส่งกลับ ให้เพิ่มขอบเขต offline_access ในสิทธิ์ของแอป Okta ของคุณ และรวมไว้ในขอบเขตของตัวเชื่อมต่อ Okta ของ Logto ด้วย ขอบเขตนี้จะช่วยให้แอปของคุณสามารถเข้าถึงทรัพยากรได้เป็นระยะเวลานาน

ขั้นตอนที่ 6: กำหนดโดเมนอีเมลและเปิดใช้งานตัวเชื่อมต่อ SSO

ระบุ email domains ขององค์กรของคุณในแท็บ SSO experience ของตัวเชื่อมต่อ Logto การดำเนินการนี้จะเปิดใช้งานตัวเชื่อมต่อ SSO เป็นวิธีการยืนยันตัวตนสำหรับผู้ใช้เหล่านั้น

ผู้ใช้ที่มีที่อยู่อีเมลในโดเมนที่ระบุจะถูกเปลี่ยนเส้นทางให้ใช้ตัวเชื่อมต่อ SSO ของคุณเป็นวิธีการยืนยันตัวตนเพียงวิธีเดียว

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างการเชื่อมต่อ OIDC กับ Okta โปรดดูที่ Create OIDC App Integrations