適用於:
外部租用戶 (深入瞭解)
Microsoft Entra 的原生驗證可讓您完全掌控行動和傳統型應用程式登入體驗的設計。 不同於瀏覽器型解決方案,原生驗證可讓您建立視覺上吸引人的圖元完美驗證畫面,以順暢地融入應用程式的介面。 使用這種方法,您可以完全自定義使用者介面,包括設計元素、標誌放置和版面配置,確保一致且品牌的外觀。
依賴瀏覽器委派驗證的標準應用程式登入程式,通常會在驗證期間造成干擾性轉換。 用戶會暫時重新導向至系統瀏覽器進行驗證,只有在登入完成之後,才會回到應用程式。
雖然瀏覽器委派的驗證提供優點,例如降低攻擊媒介和支援單一登錄 (SSO),但它提供有限的 UI 自定義選項。
可用的驗證方法
目前,原生驗證支援本機帳戶身份提供者,用於兩種驗證方法。
- 使用單次密碼 (OTP) 登入的電子郵件。
- 支援自助式密碼重設(SSPR)的電子郵件和密碼登入。
原生驗證尚不支援同盟識別提供者,例如社交或企業身分識別。
使用原生驗證的時機
在 External ID 上實作行動和桌面應用程式的驗證時,您有兩個選項:
- Microsoft裝載的瀏覽器委派驗證。
- 完全自定義 SDK 型原生驗證。
您選擇的方法取決於應用程式的特定需求。 雖然每個應用程式都有唯一的驗證需求,但請記住一些常見的考慮。 無論您選擇原生驗證還是瀏覽器委派的驗證,Microsoft Entra External ID 都支援這兩者。
下表比較兩個驗證方法,以協助您決定應用程式的正確選項。
| 瀏覽器委派的認證 | 原生驗證 | |
|---|---|---|
| 使用者驗證體驗 | 使用者會被帶到系統瀏覽器或內嵌瀏覽器進行驗證,只有在登入完成時才會重新導向回應用程式。 如果重新導向不會對終端用戶體驗造成負面影響,則建議使用這個方法。 | 用戶擁有豐富的原生註冊和登入旅程,而不需要離開應用程式。 |
| 客製化體驗 | 受控 商標和自定義選項 可作為現成的功能。 | 這個以 API 為中心的方法提供高層級的自定義,在設計方面提供廣泛的彈性,以及建立量身打造的互動和流程的能力。 |
| 適用性 | 適用於員工、B2B 和 B2C 應用程式,可用於原生應用程式、單頁應用程式和 Web 應用程式。 | 對於客戶第一方應用程式,當相同的實體作授權伺服器和應用程式,而使用者將兩者視為相同的實體時。 |
| Go 即時投入 | 低。 開箱即用。 | 高。 開發人員會建置、擁有和維護驗證體驗。 |
| 維護投入 | 低。 | 高。 每當 Microsoft 發布新功能時,您需要更新 SDK 才能使用這些功能。 |
| 安全性 | 最安全的選項。 | 安全性責任會與開發人員共用,且必須遵循最佳做法。 很容易遭受網路釣魚攻擊。 |
| 支援的語言和架構 |
|
|
功能可用性
下表顯示瀏覽器委派和原生驗證的功能可用性。
| 瀏覽器委派的認證 | 原生驗證 | |
|---|---|---|
| 使用電子郵件單次密碼註冊和登入 | ✔️ | ✔️ |
| 使用電子郵件和密碼註冊和登入 | ✔️ | ✔️ |
| 使用電子郵件和密碼登入時,可以使用使用者名稱和密碼 | ✔️ | ✔️ |
| 自助式密碼重設 (SSPR) | ✔️ | ✔️ |
| 自定義宣告提供者 | ✔️ | ✔️ |
| 社交識別提供者登入 | ✔️ | ❌ |
| 多重身份驗證與電子郵件一次性密碼(OTP) | ✔️ | ❌ |
| 使用簡訊進行多因素驗證 | ✔️ | ❌ |
| 單一登錄 (SSO) | ✔️ | ❌ |
如何啟用原生驗證
首先,請檢閱上述指導方針,了解何時需使用原生驗證。 然後,與應用程式的商務擁有者、設計師和開發小組進行內部討論,以判斷是否需要原生驗證。
如果您的小組已判斷應用程式需要原生驗證,請遵循下列步驟,在 Microsoft Entra 系統管理中心啟用原生驗證:
- 登入 Microsoft Entra 系統管理中心。
- 流覽至 [應用程式>註冊 ],然後選取您要啟用公用用戶端和原生驗證流程的應用程式註冊。
- 在 [管理] 底下,選取 [驗證]。
- 在 [進階設定] 中,允許公用用戶端流動:
- 針對「啟用下列行動和桌面流程」選取「是」。
- 針對 [啟用原生驗證 的,請選擇 [是] 。
- 選取 [ 儲存] 按鈕。
更新您的組態程序代碼
在系統管理中心啟用原生驗證 API 之後,您仍然需要更新應用程式的組態代碼,以支援 Android 或 iOS/macOS 的原生驗證流程。 若要這樣做,您必須將挑戰類型字段新增至您的組態。 挑戰類型是應用程式用來通知 Microsoft Entra 支援的驗證方法的列表。 您可以找到有關原生驗證挑戰類型的詳細資訊 在這裡。 如果未更新組態以整合原生驗證元件,原生驗證 SDK 和 API 將無法使用。
啟用原生驗證的風險
Microsoft Entra 的原生驗證不支援單一登錄 (SSO),而確保應用程式安全性的責任在於您的開發小組。
如何使用原生驗證
您可以使用原生驗證 API 或適用於 Android、iOS/macOS 和 Web 應用程式的 Microsoft 驗證連結庫 (MSAL) SDK 來建置使用原生驗證的應用程式。 盡可能使用 MSAL 將原生驗證新增至您的應用程式。
如需原生驗證範例和教學課程的詳細資訊,請參閱下表。
| 語言/ 平臺 |
快速入門 | 建置與整合指南 |
|---|---|---|
| Android (Kotlin) | • 登入的使用者 | • 登入的使用者 |
| iOS (Swift) | • 登入的使用者 | • 登入的使用者 |
| macOS (Swift) | • 登入的使用者 | • 登入的使用者 |
| React (Next.js) | • 快速入門 | • 教學課程 |
| 角 | • 快速入門 | • 教學課程 |
如果您打算在 MSAL 目前不支援的架構上建立應用程式,您可以使用我們的驗證 API。 如需詳細資訊,請參閱 此 API 參考文章。