> For the complete documentation index, see [llms.txt](https://portalista.gitbook.io/portalista/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portalista.gitbook.io/portalista/saml-2.0-microsoft-entra-id.md).

# เชื่อมต่อ SAML 2.0 กับ Microsoft Entra ID

ตั้งค่า Microsoft Entra, Captive Portal, Walled Garden และตรวจ Internet User พร้อมภาพจาก NVK SAML SSO

ให้พนักงานใช้บัญชี Microsoft ขององค์กรเข้าสู่ Wi-Fi ผ่าน Captive Portal โดย Portalista รับผลยืนยันตัวตนจาก Microsoft แล้วสร้าง Internet User ตาม Network Policy ที่กำหนด ผู้ใช้ไม่ต้องสมัครบัญชี Wi-Fi แยกอีกชุด

*ภาพประกอบปิดบังเฉพาะ Tenant ID, Connection ID, เนื้อหาใบรับรอง และข้อมูลผู้ใช้ โดยคงโดเมน เส้นทาง URL และข้อความระบุชนิดข้อมูลไว้ให้เทียบรูปแบบ กรุณาใช้ค่าจาก Connection และบัญชี Microsoft ขององค์กรท่านเอง*

คู่มือนี้ใช้ **NVK SAML SSO** บน Portalista staging เป็นตัวอย่าง และใช้ภาพจากระบบจริง ครอบคลุม SAML สำหรับผู้ใช้ Wi-Fi ไม่ใช่การเข้าสู่ Dashboard ของผู้ดูแล

**ลำดับการทำงาน:** เชื่อมต่อ SSID → เปิด Captive Portal → Sign in with Microsoft → Microsoft ตรวจบัญชีและ MFA ตามนโยบายองค์กร → กลับ Portalista → สร้างหรือใช้ Internet User เดิม → ส่งต่อเข้าสู่ NAS

### 1. เตรียมข้อมูลและเปิดสิทธิ์

* มีบัญชีผู้ดูแล Microsoft Entra ที่สร้างและตั้งค่า Enterprise application ได้
* Portalista ใช้ HTTPS และผู้ใช้เข้าถึงโดเมน Captive Portal ได้
* มี NAS / Access Point, Location / Building และ Network Policy ใน Dashboard ที่จะใช้งาน
* มี Captive Portal ที่ใช้ Theme Default หรือ Emdistrict ซึ่งรองรับ SAML

1. ให้ License Manager เปิด **SAML 2.0 → Microsoft Entra** ในฟีเจอร์ของ Dashboard ต้องเปิดทั้งหมวดหลักและผู้ให้บริการ
2. Dashboard owner ใช้ได้เมื่อเปิดฟีเจอร์แล้ว สำหรับ Admin ให้ไปที่ **Administrator → Edit → Features / Menus** และเปิด **\[SAML 2.0] > \[Microsoft Entra]**
3. ผู้ดูแลที่ตั้งค่า Captive Portal ต้องมีสิทธิ์จัดการ Captive Portal และเลือก Policy / Location ที่เกี่ยวข้องด้วย บัญชี Read only ดูข้อมูลได้แต่แก้ไขไม่ได้

เมื่อสิทธิ์ครบ จะพบเมนู **SAML 2.0 → Microsoft Entra** หากไม่พบเมนู ให้ตรวจสิทธิ์สองระดับนี้ก่อน

![เมนู SAML 2.0 → Microsoft Entra และ Connection ที่สร้างไว้ในตัวอย่าง NVK](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2FpbCM1s8H320oMNKS3ORC%2Fportalista-saml-menu-redacted.png?alt=media\&token=dc9b2920-fd40-473d-ba28-8b9f730b90b1)

### 2. สร้างแอปใน Microsoft Entra

1. เปิด Microsoft Entra admin center เลือก **Enterprise applications → New application → Create your own application**
2. ตั้งชื่อให้ระบุการใช้งานได้ชัดเจน เช่น **Portalista Guest Wi-Fi SAML (Staging)** และเลือกการเชื่อมต่อแอปที่ไม่ได้อยู่ใน Gallery
3. เปิดแอป เลือก **Single sign-on → SAML**
4. จากส่วนตั้งค่าของแอป คัดลอก **Microsoft Entra Identifier** และ **Login URL** แล้วดาวน์โหลด **Certificate (Base64)** ของ SAML Signing Certificate ที่ Active

ใช้ใบรับรองของแอปนี้โดยเฉพาะ ไม่ต้องสร้าง Client Secret สำหรับการเชื่อมต่อ SAML

### 3. เพิ่ม Connection ใน Portalista

1. ไปที่ **SAML 2.0 → Microsoft Entra → ADD CONNECTION**
2. ใส่ชื่อ Connection เช่น **NVK Microsoft Entra SAML (Staging)**
3. กรอกข้อมูลจาก Microsoft ตามตาราง แล้วใช้ **Load Certificate** นำเข้าไฟล์ Certificate (Base64) หรือวางใบรับรองรูปแบบ PEM
4. เปิด **Enable this connection** ตรวจ Attribute mapping และกด **SAVE CONNECTION**

| ช่องใน Portalista                   | ค่าที่นำมาจาก Microsoft                               |
| ----------------------------------- | ----------------------------------------------------- |
| Microsoft Entra Identifier (Issuer) | Microsoft Entra Identifier ของ Enterprise application |
| Login URL                           | Login URL ของแอป SAML                                 |
| SAML signing certificates           | Certificate (Base64) ของใบรับรองที่ Active            |

![หน้าตั้งค่า Connection: Issuer, Login URL และใบรับรอง SAML ของ Microsoft](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2Fv34zlajvpV3Vx1amYImH%2Fportalista-connection-partial.png?alt=media\&token=d5c8b3a4-1896-4e1b-b035-61a2336bfd89)

**ตัวอย่างรูปแบบใบรับรอง PEM:** ช่องนี้ใช้ SAML signing certificate จาก Microsoft โดยมีบรรทัดเริ่มต้นและสิ้นสุดดังตัวอย่างด้านล่าง ข้อความตรงกลางเป็นข้อมูลใบรับรองจริงจากไฟล์ Certificate (Base64) ที่ดาวน์โหลดมา ไม่ใช่ Private Key

```
-----BEGIN CERTIFICATE-----
[ข้อมูลใบรับรองจาก Microsoft]
-----END CERTIFICATE-----
```

ในภาพปิดบังเฉพาะเนื้อหาใบรับรอง และยังคงบรรทัด END CERTIFICATE ที่แสดงอยู่ไว้ให้เทียบรูปแบบ

### 4. นำ Entity ID และ Reply URL กลับไปตั้งใน Microsoft

หลังบันทึก Connection ให้คัดลอก URL ที่ Portalista สร้างให้ กลับไปที่ **Basic SAML Configuration → Edit** ของแอป Microsoft

| Microsoft                                  | ใช้ค่าจาก Portalista                                      |
| ------------------------------------------ | --------------------------------------------------------- |
| Identifier (Entity ID)                     | Identifier (Entity ID) ของ Connection                     |
| Reply URL (Assertion Consumer Service URL) | Reply URL (Assertion Consumer Service URL) ของ Connection |
| Sign on URL (ถ้ากำหนด)                     | URL หน้า Captive Portal ที่เปิด SAML ขององค์กร            |
| Relay State / Logout URL                   | ไม่ต้องกำหนดสำหรับขั้นตอนในคู่มือนี้                      |

![คัดลอก Entity ID และ Reply URL จาก Connection ของตนเอง](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2FgmkWPK9ELOxtbe4bK0c7%2Fportalista-sp-urls-partial.png?alt=media\&token=e2450580-a783-4dee-bf2e-0667f598ddf6)

**อย่าใช้ URL ในภาพแทนค่าของลูกค้า:** แต่ละ Connection มี URL ของตนเอง ต้องตรงทั้ง HTTPS, hostname, path และเครื่องหมายท้าย URL โดย Reply URL ต้องเป็น ACS ไม่ใช่ URL หน้า Captive Portal ส่วน **VIEW SP METADATA** ใช้ตรวจข้อมูลฝั่ง Portalista ได้

![ตัวอย่าง Basic SAML Configuration ที่ตั้งให้ตรงกับ Portalista staging](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2F3A4jN5zLDFbk4y7s1U5k%2Fentra-saml-configured-partial.png?alt=media\&token=242af043-4076-4b58-96ab-8720468f19bd)

### 5. ตรวจลายเซ็น Claims และผู้ที่ใช้แอปได้

ใน SAML Signing Certificate ให้ใช้ **Sign SAML assertion** หรือ **Sign SAML response and assertion** และอัลกอริทึม **SHA-256** Portalista ต้องตรวจลายเซ็นของ Assertion จึงไม่ใช้ตัวเลือกที่ลงลายเซ็นเฉพาะ Response

ตรวจ Attributes & Claims ให้ส่งค่าที่ตรงกับ Attribute mapping ใน Portalista ดังนี้

| Portalista  | Claim URI                                                            | Microsoft source |
| ----------- | -------------------------------------------------------------------- | ---------------- |
| subject     | `http://schemas.microsoft.com/identity/claims/objectidentifier`      | `user.objectid`  |
| email       | `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` | `user.mail`      |
| first\_name | `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname`    | `user.givenname` |
| last\_name  | `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname`      | `user.surname`   |

**subject ต้องเป็น Object ID ของผู้ใช้** Microsoft อาจส่ง objectidentifier เป็น claim มาตรฐานอยู่แล้ว จึงไม่ต้องสร้างซ้ำหากมีอยู่ ให้ตรวจ mapping ให้ตรงกัน อย่าเปลี่ยนเป็นอีเมลหรือค่าคงที่ ส่วนชื่อ นามสกุล และอีเมลจะอัปเดตใน Internet User เมื่อ Microsoft ส่งค่ามา หาก user.mail ว่าง ให้ผู้ดูแล Entra เลือกแหล่งข้อมูลอีเมลที่เหมาะกับองค์กร

1. เปิด **Users and groups → Add user/group** แล้วกำหนดผู้ใช้ทดสอบหรือกลุ่มที่อนุญาต ตามสิทธิ์ของ Microsoft tenant
2. หากต้องการให้ใช้ได้เฉพาะผู้ที่กำหนดไว้ ให้ตั้ง **Properties → Assignment required? → Yes**
3. คงนโยบาย MFA และ Conditional Access ตามที่องค์กรกำหนด

![ตัวอย่างกำหนดผู้ใช้ทดสอบให้ใช้ Enterprise application](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2F1EYPWKGGQ4qDF2IacA41%2Fentra-test-user-assigned-redacted.png?alt=media\&token=f5b60e05-738d-44c3-9e40-e777f963e9eb)

### 6. เปิด SAML ในหน้า Captive Portal

1. ไปที่ **Captive Portal** เลือกหน้าที่ต้องการ แล้วกด **DESIGN**
2. เปิดส่วน **SAML 2.0 · Microsoft Entra**
3. เปิด **Enable Microsoft SAML login**
4. เลือก **SAML connection** ที่สร้างไว้ และ **Network policy for SSO users** เช่น Employee ในตัวอย่าง ตรวจให้ Policy ใช้ได้กับ Building ของ NAS นั้น
5. ตั้ง **Sign-in button text** เช่น Sign in with Microsoft
6. เปิด **Create an Internet User on first verified sign-in** หากต้องการให้พนักงานที่ยืนยันตัวตนครั้งแรกมีบัญชีใน Portalista อัตโนมัติ
7. กด **SAVE SSO SETTINGS** ในส่วน SAML โดยตรง

**ค่าการเชื่อมต่อ SSO บันทึกแยกจากงานออกแบบหน้า:** ปุ่ม SAVE & APPLY สำหรับรูปแบบหน้า ไม่ได้ใช้แทน SAVE SSO SETTINGS หากเพิ่งเพิ่ม Connection ให้กด REFRESH CONNECTIONS ก่อนเลือก

![เปิด Microsoft SAML เลือก Connection และ Policy Employee พร้อมสร้าง Internet User เมื่อเข้าสู่ระบบครั้งแรก](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2FlkdNU7wjnsZqaRk6jG6j%2Fcaptive-sso-settings-redacted.png?alt=media\&token=60bd88bc-0ff4-4ff7-891e-9a31073d11f9)

ถ้าปิดการสร้างบัญชีอัตโนมัติ จะเข้าได้เฉพาะผู้ใช้ SSO ที่เคยผูกกับ Internet User แล้ว การยืนยันอีเมลและข้อกำหนดอื่นที่เปิดใน Captive Portal ยังมีผล จึงควรตรวจการตั้งค่าให้สอดคล้องกับขั้นตอนเข้าสู่ระบบขององค์กร

### 7. ตั้งค่า NAS และ Walled Garden

แม้ใช้ SAML ผู้ใช้ยังต้องเปิดหน้าล็อกอิน Microsoft ก่อนมีอินเทอร์เน็ต จึงต้องอนุญาตโดเมนที่จำเป็นบน NAS / Access Point ด้วย

1. ในหน้า Captive Portal เปิดแท็บไอคอน **Walled Garden** เมื่อเปิด SAML จะมีรายการ **Microsoft Entra ID (SAML 2.0)**
2. ใช้ **COPY DOMAINS** และนำรายการไปตั้งบน NAS / Access Point รายการใน Portalista เป็นข้อมูลแนะนำ ไม่ได้ส่งค่าไปตั้งอุปกรณ์ให้อัตโนมัติ
3. อนุญาต DNS และ HTTPS ที่จำเป็น รวมถึงโดเมน Portalista ที่ผู้ใช้เปิดจริง
4. ทดสอบผ่าน SSID จริง หากองค์กรใช้ MFA, federation หรือหน้าเข้าสู่ระบบเพิ่มเติม ให้ตรวจโดเมนของขั้นตอนเหล่านั้นด้วย

| โดเมน / กลุ่ม                                                             | การใช้งาน                                                          |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| โดเมน Portalista ขององค์กร                                                | Captive Portal และ URL รับผล SAML กลับมา                           |
| `login.microsoftonline.com`                                               | หน้าลงชื่อเข้าใช้ Microsoft Entra                                  |
| <p><code>aadcdn.msauth.net</code><br><code>aadcdn.msftauth.net</code></p> | ไฟล์ประกอบหน้าเข้าสู่ระบบ                                          |
| `login.live.com`                                                          | ขั้นตอน Microsoft sign-in ที่เกี่ยวข้อง ขึ้นอยู่กับบัญชีและ flow   |
| `browser.events.data.microsoft.com`                                       | Optional: ข้อมูลวินิจฉัยของ Microsoft ไม่ใช่ปลายทางยืนยันตัวตนหลัก |

นี่คือรายการเริ่มต้นที่แสดงใน Portalista ไม่ใช่รายการตายตัวสำหรับทุก tenant หรือ MFA ทุกวิธี โดเมน CDN อื่นอาจจำเป็นตามหน้า Microsoft ที่ใช้จริง ปุ่ม Copy domains ไม่รวมรายการ Optional

NAS ต้องอยู่ใน Dashboard เดียวกัน และข้อมูล controller/login URL ต้องจับคู่กับอุปกรณ์ที่ลงทะเบียนได้ หาก hostname หรือ port ที่ controller ส่งมาไม่ตรงกับข้อมูล NAS ให้ผู้ดูแลระบบตรวจรายการปลายทางที่อนุญาตก่อนทดสอบ

### 8. ทดสอบตั้งแต่เข้าสู่ระบบจนถึง Internet User

| วิธีทดสอบ           | สิ่งที่ใช้ตรวจ                                                                                                              |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| TEST                | ดูหน้าตา Captive Portal ในโหมด preview ไม่ใช้ยืนยันการล็อกอินครบวงจร                                                        |
| SIMULATE            | ใช้พารามิเตอร์ของ NAS ที่เลือก ทดสอบ SSO และการสร้างบัญชีได้เมื่อข้อมูล NAS ถูกต้อง แต่ไม่ได้พิสูจน์การเชื่อมต่อ Wi-Fi จริง |
| เชื่อมต่อ SSID จริง | ตรวจ Captive Portal, Walled Garden, Microsoft sign-in และการเข้าถึงอินเทอร์เน็ตผ่าน NAS                                     |

1. เริ่มจากเชื่อมต่อ SSID จริง หรือ SIMULATE โดยเลือก NAS ที่ลงทะเบียนใน Dashboard
2. กด **Sign in with Microsoft** และยอมรับเงื่อนไข/นโยบายความเป็นส่วนตัวตามที่องค์กรแสดง
3. ลงชื่อเข้าใช้บัญชีที่ได้รับสิทธิ์ในแอป พร้อมทำ MFA หาก Microsoft ร้องขอ
4. ทำขั้นตอนต่อในเบราว์เซอร์เดิม หลัง Microsoft ส่งผลกลับ Portalista จะแสดงผลการเข้าสู่ระบบและขั้นตอนเชื่อมต่อเครือข่าย
5. ไปที่ **Internet Users** กรอง **Sign-up Channel: SAML SSO** และตรวจผู้ใช้ที่เพิ่งเข้าสู่ระบบ

![หน้าลงชื่อเข้าใช้ Microsoft บน Captive Portal ตัวอย่าง NVK SAML SSO](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2FWliQ6yVLAcPpqHAW4Tue%2Fsaml-login-consent-review.jpg?alt=media\&token=42995df9-5c69-44d4-861d-8194f3428695)

![ผลกลับจาก Microsoft หลัง Portalista ยืนยัน SAML สำเร็จ](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2FVoCblvNPxvYGn2t0Mu7E%2Fsaml-sign-in-success.jpg?alt=media\&token=e0e1b339-caa9-4a82-b70b-356624c5a084)

![ตรวจ Internet User ที่สร้างจาก SAML พร้อม Policy และ Building](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6Cj4Z4IgrnDp0c2yiDx4%2Fuploads%2FbeguGiAAkIjnRCRDj7JN%2Fsaml-internet-user-created-partial.png?alt=media\&token=af84f77e-d4e9-4a53-8e93-30d5a4a18ce6)

ชื่อบัญชีที่สร้างจะขึ้นต้นด้วย `saml-` มีชื่อ นามสกุล และอีเมลจาก Microsoft รวมถึง Policy ที่เลือกไว้และ Building จาก NAS ผู้ใช้และ Connection เดิมจะใช้บัญชีเดิมเมื่อกลับมาล็อกอิน โดยไม่เริ่มอายุบัญชีใหม่ทุกครั้ง ระบบไม่รวมกับบัญชีเดิมด้วยการจับคู่อีเมลเพียงอย่างเดียว และไม่เก็บรหัสผ่าน Microsoft

**ตรวจประวัติใช้งานให้ครบสองส่วน:** การมี Internet User ยืนยันว่าบัญชีพร้อมใช้งานใน Portalista ส่วนประวัติ session และ traffic ต้องให้ NAS ส่ง RADIUS Accounting กลับมาตามการตั้งค่าเครือข่าย การยืนยัน SAML สำเร็จอย่างเดียวไม่ยืนยันว่าผู้ใช้เชื่อมอินเทอร์เน็ตแล้ว

### 9. อาการที่พบบ่อยและวิธีตรวจ

| อาการ                                                  | ตรวจอะไร                                                                                                                                        |
| ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| ไม่พบเมนูหรือปุ่ม SAML                                 | ตรวจฟีเจอร์ SAML 2.0 + Microsoft Entra, สิทธิ์ Admin, Connection ที่เปิดใช้งาน และ SAVE SSO SETTINGS ของ Portal                                 |
| Microsoft ไม่อนุญาตให้เข้าแอป                          | ตรวจ tenant, แอปที่เลือก, Users and groups และนโยบาย Conditional Access                                                                         |
| Reply URL mismatch                                     | คัดลอก ACS จาก Connection ไปใส่ Reply URL ให้ตรงทุกตัวอักษร                                                                                     |
| ลายเซ็นหรือใบรับรองไม่ผ่าน                             | ใช้ใบรับรอง Active ของแอปนั้น ตรวจวันหมดอายุ และลงลายเซ็น Assertion ด้วย SHA-256                                                                |
| Wi-Fi controller could not be matched                  | ตรวจ NAS ใน Dashboard และ login URL/hostname/port ที่อุปกรณ์ส่งมา หาก SIMULATE ใช้ URL สมมติให้เลือก NAS จริงหรือทดสอบผ่าน SSID                 |
| คำขอล็อกอินหมดอายุหรือ session ไม่ตรง                  | เริ่มจาก Captive Portal ใหม่และทำต่อในเบราว์เซอร์เดิม คำขอมีอายุ 5 นาที ไม่ย้ายไปเบราว์เซอร์อื่นกลางขั้นตอน                                     |
| SAML libraries could not be loaded                     | ให้ผู้ดูแลเซิร์ฟเวอร์ตรวจ python3-saml, lxml และ xmlsec ใน runtime ของ web service โดยเฉพาะ libxml2 version mismatch; ไม่ใช่ปัญหา Client Secret |
| เข้าสู่ระบบผ่านแต่ไม่มีอินเทอร์เน็ตหรือประวัติ traffic | ตรวจขั้นตอนส่งต่อเข้า NAS, Policy/Building และ RADIUS Accounting                                                                                |

### 10. MFA การดูแลใบรับรอง และขอบเขตการใช้งาน

**SAML ยังมี MFA:** Microsoft เป็นผู้บังคับ MFA และ Conditional Access เช่นเดียวกับการล็อกอิน Entra แบบ OAuth/OIDC การเปลี่ยนมาใช้ SAML ไม่ข้าม 2FA ผู้ใช้บางครั้งอาจไม่เห็นคำถามซ้ำเมื่อมี session ที่ Microsoft ยอมรับอยู่แล้ว

ตรวจคอลัมน์ **Signing certificate expires (UTC)** เป็นระยะ ก่อนต่ออายุใบรับรองใน Microsoft ให้เพิ่มใบรับรองใหม่ใน Connection ของ Portalista โดยเก็บใบเดิมไว้ช่วงเปลี่ยนผ่าน ระบบรองรับได้สูงสุด 4 ใบ เมื่อยืนยันว่า Microsoft ใช้ใบใหม่และทดสอบผ่านแล้วจึงนำใบเก่าออก

เริ่มล็อกอินจาก Captive Portal เสมอ (SP-initiated) คู่มือนี้ไม่ใช้การเริ่มจาก My Apps โดยไม่มีคำขอ Portalista ปัจจุบันยังไม่มี SAML Single Logout หรือการเลือก Network Policy ตาม Microsoft group อัตโนมัติ และผู้ให้บริการในชุดนี้คือ Microsoft Entra

ตรวจอ้างอิงเพิ่มเติมจาก Microsoft: [ตั้งค่า SAML SSO](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal-setup-sso), [Attributes & Claims](https://learn.microsoft.com/en-us/entra/identity-platform/saml-claims-customization), [รูปแบบ SSO และนโยบายยืนยันตัวตน](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/understand-microsoft-sso-model), [โดเมนของ Microsoft authentication](https://learn.microsoft.com/en-us/azure/azure-portal/azure-portal-safelist-urls#azure-portal-authentication)
