共用方式為


Microsoft Entra 外部標識碼中的內建驗證

適用於帶有白色核取記號符號的綠色圓圈,表示下列內容適用於外部租用戶。 外部租用戶 (深入瞭解

Microsoft Entra 的原生驗證可讓您完全掌控行動和傳統型應用程式登入體驗的設計。 不同於瀏覽器型解決方案,原生驗證可讓您建立視覺上吸引人的圖元完美驗證畫面,以順暢地融入應用程式的介面。 使用這種方法,您可以完全自定義使用者介面,包括設計元素、標誌放置和版面配置,確保一致且品牌的外觀。

依賴瀏覽器委派驗證的標準應用程式登入程式,通常會在驗證期間造成干擾性轉換。 用戶會暫時重新導向至系統瀏覽器進行驗證,只有在登入完成之後,才會回到應用程式。

雖然瀏覽器委派的驗證提供優點,例如降低攻擊媒介和支援單一登錄 (SSO),但它提供有限的 UI 自定義選項。

可用的驗證方法

目前,原生驗證支援本機帳戶身份提供者,用於兩種驗證方法。

  • 使用單次密碼 (OTP) 登入的電子郵件。
  • 支援自助式密碼重設(SSPR)的電子郵件和密碼登入。

原生驗證尚不支援同盟識別提供者,例如社交或企業身分識別。

使用原生驗證的時機

在 External ID 上實作行動和桌面應用程式的驗證時,您有兩個選項:

  • Microsoft裝載的瀏覽器委派驗證。
  • 完全自定義 SDK 型原生驗證。

您選擇的方法取決於應用程式的特定需求。 雖然每個應用程式都有唯一的驗證需求,但請記住一些常見的考慮。 無論您選擇原生驗證還是瀏覽器委派的驗證,Microsoft Entra External ID 都支援這兩者。

下表比較兩個驗證方法,以協助您決定應用程式的正確選項。

瀏覽器委派的認證 原生驗證
使用者驗證體驗 使用者會被帶到系統瀏覽器或內嵌瀏覽器進行驗證,只有在登入完成時才會重新導向回應用程式。 如果重新導向不會對終端用戶體驗造成負面影響,則建議使用這個方法。 用戶擁有豐富的原生註冊和登入旅程,而不需要離開應用程式。
客製化體驗 受控 商標和自定義選項 可作為現成的功能。 這個以 API 為中心的方法提供高層級的自定義,在設計方面提供廣泛的彈性,以及建立量身打造的互動和流程的能力。
適用性 適用於員工、B2B 和 B2C 應用程式,可用於原生應用程式、單頁應用程式和 Web 應用程式。 對於客戶第一方應用程式,當相同的實體作授權伺服器和應用程式,而使用者將兩者視為相同的實體時。
Go 即時投入 低。 開箱即用。 高。 開發人員會建置、擁有和維護驗證體驗。
維護投入 低。 高。 每當 Microsoft 發布新功能時,您需要更新 SDK 才能使用這些功能。
安全性 最安全的選項。 安全性責任會與開發人員共用,且必須遵循最佳做法。 很容易遭受網路釣魚攻擊。
支援的語言和架構
  • ASP.NET Core
  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)
  • JavaScript
  • 反應
  • Nodejs
  • Python
  • JAVA
  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)
  • Web (JavaScript、React、Angular)
對於其他語言和平臺,您可以使用我們的 原生驗證 API

功能可用性

下表顯示瀏覽器委派和原生驗證的功能可用性。

瀏覽器委派的認證 原生驗證
使用電子郵件單次密碼註冊和登入 ✔️ ✔️
使用電子郵件和密碼註冊和登入 ✔️ ✔️
使用電子郵件和密碼登入時,可以使用使用者名稱和密碼 ✔️ ✔️
自助式密碼重設 (SSPR) ✔️ ✔️
自定義宣告提供者 ✔️ ✔️
社交識別提供者登入 ✔️
多重身份驗證與電子郵件一次性密碼(OTP) ✔️
使用簡訊進行多因素驗證 ✔️
單一登錄 (SSO) ✔️

如何啟用原生驗證

首先,請檢閱上述指導方針,了解何時需使用原生驗證。 然後,與應用程式的商務擁有者、設計師和開發小組進行內部討論,以判斷是否需要原生驗證。

如果您的小組已判斷應用程式需要原生驗證,請遵循下列步驟,在 Microsoft Entra 系統管理中心啟用原生驗證:

  1. 登入 Microsoft Entra 系統管理中心
  2. 流覽至 [應用程式>註冊 ],然後選取您要啟用公用用戶端和原生驗證流程的應用程式註冊。
  3. 在 [管理] 底下,選取 [驗證]
  4. 在 [進階設定] 中,允許公用用戶端流動:
    1. 針對「啟用下列行動和桌面流程」選取「」。
    2. 針對 [啟用原生驗證 ,請選擇 [是]
  5. 選取 [ 儲存] 按鈕。

更新您的組態程序代碼

在系統管理中心啟用原生驗證 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 參考文章