ตั้งค่า 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
-
ไปที่ Microsoft Entra admin center และลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ
-
ไปที่ Identity > Applications > App registrations

-
เลือก
New registration
-
กรอกชื่อแอปพลิเคชันและเลือกประเภทบัญชีที่เหมาะสมสำหรับแอปของคุณ
-
เลือก
Web
เป็นแพลตฟอร์มของแอปพลิเคชัน -
คัดลอกและวาง
redirect URI
จากหน้าการตั้งค่า SSO ของ Logto โดยredirect URI
คือ URL ที่ผู้ใช้จะถูกเปลี่ยนเส้นทางไปหลังจากยืนยันตัวตนกับ Microsoft Entra ID แล้ว

- คลิก
Register
เพื่อสร้างแอปพลิเคชัน
ขั้นตอนที่ 2: ตั้งค่า Microsoft Entra ID OIDC SSO ที่ Logto
หลังจากสร้างแอปพลิเคชัน Microsoft Entra OIDC สำเร็จแล้ว คุณจะต้องนำค่าการตั้งค่าของ IdP กลับมากำหนดใน Logto ให้ไปที่แท็บ Connection
ใน Logto Console และกรอกค่าการตั้งค่าต่อไปนี้:
- Client ID: ตัวระบุเฉพาะที่ Microsoft Entra กำหนดให้กับแอป OIDC ของคุณ ตัวระบุตัวนี้ใช้โดย Logto เพื่อระบุและยืนยันตัวตนของแอปพลิเคชันระหว่างกระบวนการ OIDC คุณสามารถค้นหาได้ในหน้า overview ของแอปพลิเคชันในส่วน
Application (client) ID

- Client Secret: สร้าง client secret ใหม่และคัดลอกค่าที่ได้ไปใส่ใน Logto รหัสลับนี้ใช้สำหรับยืนยันตัวตนของแอป OIDC และรักษาความปลอดภัยในการสื่อสารระหว่าง Logto กับ IdP

-
ผู้ออก (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

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

ในตัวเชื่อมต่อ Logto Microsoft Entra ID:
- Logto จะเพิ่มขอบเขต
openid
,profile
และemail
โดยอัตโนมัติเพื่อดึงข้อมูลตัวตนพื้นฐานของผู้ใช้ คุณสามารถเว้นว่างช่องScopes
ได้หากต้องการเพียงข้อมูลผู้ใช้พื้นฐาน - เพิ่ม
offline_access
ในช่องScopes
หากคุณวางแผนจะจัดเก็บโทเค็นเพื่อเข้าถึง API อย่างต่อเนื่อง ขอบเขตนี้จะเปิดใช้งานโทเค็นรีเฟรชสำหรับการเข้าถึง API แบบยาวนาน - เพิ่มขอบเขตเพิ่มเติม (คั่นด้วยช่องว่าง) ในช่อง
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) ที่เฉพาะเจาะจงและจัดเก็บโทเค็น
- เพิ่มขอบเขตที่จำเป็นในหน้าการกำหนดค่าสิทธิ์ API ของ Microsoft Entra admin center และในตัวเชื่อมต่อ Microsoft Entra ID ของ Logto
- เปิดใช้งาน จัดเก็บโทเค็นเพื่อเข้าถึง API อย่างต่อเนื่อง ในตัวเชื่อมต่อ Microsoft Entra ID ของ Logto โดย Logto จะจัดเก็บโทเค็นการเข้าถึง (access token) และโทเค็นรีเฟรช (refresh token) ของ Microsoft อย่างปลอดภัยใน Secret Vault
- เพื่อให้แน่ใจว่าโทเค็นรีเฟรช (refresh token) จะถูกส่งกลับ ให้เพิ่มขอบเขต
offline_access
ในสิทธิ์ของแอปพลิเคชัน Microsoft Entra ID ของคุณ และรวมไว้ในขอบเขตของตัวเชื่อมต่อ Microsoft Entra ID ของ Logto ด้วย ขอบเขตนี้จะช่วยให้แอปของคุณสามารถเข้าถึงทรัพยากรได้เป็นระยะเวลานาน
ขั้นตอนที่ 5: กำหนดโดเมนอีเมลและเปิดใช้งานตัวเชื่อมต่อ SSO
ระบุ domains
อีเมลขององค์กรของคุณในแท็บ experience
ของตัวเชื่อมต่อ การดำเนินการนี้จะเปิดใช้งานตัวเชื่อมต่อ SSO เป็นวิธีการยืนยันตัวตนสำหรับผู้ใช้เหล่านั้น
ผู้ใช้ที่มีที่อยู่อีเมลในโดเมนที่ระบุจะถูกจำกัดให้ใช้เฉพาะตัวเชื่อมต่อ SSO ของคุณเป็นวิธีการยืนยันตัวตนเพียงวิธีเดียว