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

ตั้งค่า Single Sign-On (SSO) ด้วย Microsoft Entra ID (OIDC)

ด้วยการตั้งค่าที่น้อยที่สุด ตัวเชื่อมต่อนี้ช่วยให้คุณผสานรวมกับ Microsoft Entra ID (เดิมชื่อ Azure AD) สำหรับ SSO สำหรับองค์กร (SSO)

เคล็ดลับ:

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ SSO และวิธีตั้งค่า SSO ใน Logto โปรดดูเอกสาร SSO สำหรับองค์กร (SAML & OIDC) เพื่อเริ่มต้นใช้งาน

ขั้นตอนที่ 1: สร้างแอปพลิเคชัน Microsoft EntraID OIDC

  1. ไปที่ Microsoft Entra admin center และลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ

  2. ไปที่ Identity > Applications > App registrations

สร้างแอปพลิเคชัน
  1. เลือก New registration

  2. กรอกชื่อแอปพลิเคชันและเลือกประเภทบัญชีที่เหมาะสมสำหรับแอปของคุณ

  3. เลือก Web เป็นแพลตฟอร์มของแอปพลิเคชัน

  4. คัดลอกและวาง redirect URI จากหน้าการตั้งค่า SSO ของ Logto โดย redirect URI คือ URL ที่ผู้ใช้จะถูกเปลี่ยนเส้นทางไปหลังจากยืนยันตัวตนกับ Microsoft Entra ID แล้ว

กำหนดค่าแอปพลิเคชัน
  1. คลิก Register เพื่อสร้างแอปพลิเคชัน

ขั้นตอนที่ 2: ตั้งค่า Microsoft Entra ID OIDC SSO ที่ Logto

หลังจากสร้างแอปพลิเคชัน Microsoft Entra OIDC สำเร็จแล้ว คุณจะต้องนำค่าการตั้งค่าของ IdP กลับมากำหนดใน Logto ให้ไปที่แท็บ Connection ใน Logto Console และกรอกค่าการตั้งค่าต่อไปนี้:

  1. Client ID: ตัวระบุเฉพาะที่ Microsoft Entra กำหนดให้กับแอป OIDC ของคุณ ตัวระบุตัวนี้ใช้โดย Logto เพื่อระบุและยืนยันตัวตนของแอปพลิเคชันระหว่างกระบวนการ OIDC คุณสามารถค้นหาได้ในหน้า overview ของแอปพลิเคชันในส่วน Application (client) ID
รายละเอียดแอปพลิเคชัน
  1. Client Secret: สร้าง client secret ใหม่และคัดลอกค่าที่ได้ไปใส่ใน Logto รหัสลับนี้ใช้สำหรับยืนยันตัวตนของแอป OIDC และรักษาความปลอดภัยในการสื่อสารระหว่าง Logto กับ IdP
สร้าง Secret
  1. ผู้ออก (Issuer): URL ของผู้ออก ซึ่งเป็นตัวระบุเฉพาะของ IdP ที่ระบุที่ตั้งของผู้ให้บริการข้อมูลระบุตัวตน OIDC เป็นส่วนสำคัญของการตั้งค่า OIDC เพราะช่วยให้ Logto ค้นหา endpoint ที่จำเป็นได้

    แทนที่จะต้องกรอก endpoint OIDC ทั้งหมดด้วยตนเอง Logto จะดึงค่าการตั้งค่าและ endpoint ของ IdP ที่จำเป็นทั้งหมดโดยอัตโนมัติ โดยใช้ issuer url ที่คุณให้ไว้และเรียกไปยัง discover endpoint ของ IdP

    ในการรับ issuer URL คุณสามารถค้นหาได้ในส่วน Endpoints ของหน้า overview ของแอปพลิเคชัน

    ค้นหา endpoint OpenID Connect metadata document และคัดลอก URL โดยไม่ต้องใส่ path ต่อท้าย .well-known/openid-configuration เนื่องจาก Logto จะเติม .well-known/openid-configuration ต่อท้าย issuer URL ให้อัตโนมัติเมื่อดึงค่าการตั้งค่า OIDC

Endpoints
  1. ขอบเขต (Scope) (ไม่บังคับ): Logto จะเพิ่มขอบเขตที่จำเป็น (openid, profile, และ email) ในทุกคำขอโดยอัตโนมัติ คุณสามารถระบุขอบเขตเพิ่มเติมเป็นรายการที่คั่นด้วยช่องว่าง หากแอปของคุณต้องการสิทธิ์หรือระดับการเข้าถึงเพิ่มเติมจาก IdP

คลิก Save เพื่อเสร็จสิ้นกระบวนการตั้งค่า

ขั้นตอนที่ 3: ขอบเขตเพิ่มเติม (ไม่บังคับ)

ขอบเขต (Scopes) กำหนดสิทธิ์ที่แอปของคุณร้องขอจากผู้ใช้ และควบคุมว่าแอปของคุณสามารถเข้าถึงข้อมูลใดจากบัญชี Microsoft Entra ID ของพวกเขาได้ การร้องขอสิทธิ์ Microsoft Graph ต้องมีการกำหนดค่าทั้งสองฝั่ง:

ใน Microsoft Entra admin center:

  1. ไปที่ Microsoft Entra ID > App registrations และเลือกแอปพลิเคชันของคุณ
  2. ไปที่ API permissions > Add a permission > Microsoft Graph > Delegated permissions
  3. เลือกเฉพาะสิทธิ์ที่แอปของคุณต้องการ:
    • สิทธิ์ OpenID:
      • openid (จำเป็น) - ลงชื่อเข้าใช้ผู้ใช้
      • profile (จำเป็น) - ดูโปรไฟล์พื้นฐานของผู้ใช้
      • email (จำเป็น) - ดูที่อยู่อีเมลของผู้ใช้
      • offline_access (ไม่บังคับ) - ต้องใช้เฉพาะเมื่อคุณเปิดใช้งาน จัดเก็บโทเค็นเพื่อเข้าถึง API อย่างต่อเนื่อง ในตัวเชื่อมต่อ Logto และต้องการรับโทเค็นรีเฟรช (Refresh token) เพื่อเข้าถึง Microsoft Graph APIs แบบยาวนาน
    • การเข้าถึง API (ไม่บังคับ): เพิ่มสิทธิ์เพิ่มเติมที่แอปของคุณต้องการ สิทธิ์ Microsoft Graph ที่พบบ่อย เช่น Mail.Read, Calendars.Read, Files.Read เป็นต้น สามารถดู รายการสิทธิ์ของ Microsoft Graph เพื่อค้นหาสิทธิ์ที่มีให้ใช้งาน
  4. คลิก Add permissions เพื่อยืนยันการเลือก
  5. หากแอปของคุณต้องการการยินยอมจากผู้ดูแลระบบสำหรับสิทธิ์บางรายการ ให้คลิก Grant admin consent for [Your Organization]
เพิ่มสิทธิ์ Microsoft API

ในตัวเชื่อมต่อ Logto Microsoft Entra ID:

  1. Logto จะเพิ่มขอบเขต openid, profile และ email โดยอัตโนมัติเพื่อดึงข้อมูลตัวตนพื้นฐานของผู้ใช้ คุณสามารถเว้นว่างช่อง Scopes ได้หากต้องการเพียงข้อมูลผู้ใช้พื้นฐาน
  2. เพิ่ม offline_access ในช่อง Scopes หากคุณวางแผนจะจัดเก็บโทเค็นเพื่อเข้าถึง API อย่างต่อเนื่อง ขอบเขตนี้จะเปิดใช้งานโทเค็นรีเฟรชสำหรับการเข้าถึง API แบบยาวนาน
  3. เพิ่มขอบเขตเพิ่มเติม (คั่นด้วยช่องว่าง) ในช่อง Scopes เพื่อร้องขอข้อมูลเพิ่มเติมจาก Microsoft Graph ใช้ชื่อขอบเขตมาตรฐาน เช่น: User.Read Mail.Read Calendars.Read
เคล็ดลับ:

หากแอปของคุณร้องขอขอบเขตเหล่านี้เพื่อเข้าถึง Microsoft Graph API และดำเนินการต่าง ๆ อย่าลืมเปิดใช้งาน จัดเก็บโทเค็นเพื่อเข้าถึง API อย่างต่อเนื่อง ในตัวเชื่อมต่อ Logto Microsoft Entra ID ดูรายละเอียดในหัวข้อถัดไป

ขั้นตอนที่ 4: จัดเก็บโทเค็นเพื่อเข้าถึง Microsoft APIs (ไม่บังคับ)

หากคุณต้องการเข้าถึง Microsoft Graph APIs และดำเนินการต่าง ๆ ด้วยการอนุญาตของผู้ใช้ Logto จำเป็นต้องได้รับขอบเขต API (scopes) ที่เฉพาะเจาะจงและจัดเก็บโทเค็น

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

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

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

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