共用方式為


Microsoft Entra 外部 ID 中的原生驗證

適用於具有灰色 X 符號的白色圓圈。 員工租用戶 內含白色核取記號的綠色圓圈。 外部租用戶 (深入瞭解)

Microsoft Entra 的原生驗證可讓您完全掌控行動裝置和電腦應用程式登入體驗的設計。 不同於瀏覽器型解決方案,原生驗證可讓您建立能順暢融入應用程式介面,且引人注目的完美像素模式驗證畫面。 使用這種方法,您可以完全自訂使用者介面,包括設計元素、標誌放置和版面配置,確保一致且符合品牌形象的外觀。

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

雖然瀏覽器委派的驗證具備攻擊媒介減少和支援單一登入 (SSO) 等優點,但它能提供的 UI 自訂選項有限,使用者體驗也不裡想。

可用的驗證方法

目前,原生驗證支援兩種驗證方法的本機帳戶識別提供者:

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

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

使用原生驗證的時機

在 外部 ID 上實作行動裝置和電腦應用程式的驗證時,您有兩個選項:

  • Microsoft 託管的瀏覽器委派驗證。
  • 完全自訂 SDK 型原生驗證。

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

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

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

功能可用性

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

瀏覽器委派驗證 原生驗證
使用電子郵件一次性密碼 (OTP) 註冊和登入 ✔️ ✔️
使用電子郵件和密碼註冊和登入 ✔️ ✔️
自助式密碼重設 (SSPR) ✔️ ✔️
自訂宣告提供者 ✔️ ✔️
社交識別提供者登入 ✔️
多重要素驗證與電子郵件一次性密碼 (OTP) ✔️
使用 SMS 的多重要素驗證 ✔️
單一登入 (SSO) ✔️

如何啟用原生驗證

首先,請檢閱上述指導方針,以瞭解何時使用原生驗證。 然後,與應用程式的企業負責人、設計師和開發團隊進行內部討論,以判斷是否需要原生驗證。

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

  1. 登入 Microsoft Entra 系統管理中心。
  2. 瀏覽至 [應用程式] > [應用程式註冊],然後選取您的應用程式。
  3. 瀏覽至 [驗證],然後選取 [設定] 索引標籤。
  4. 選取 [允許原生驗證][允許公用用戶端流程] 欄位。

啟用 [允許原生驗證][允許公用用戶端流程] 之後,請據以更新您的設定程式碼。

更新設定程式碼

在系統管理中心啟用原生驗證 API 之後,您仍然需要更新應用程式的設定程式碼,以支援 Android 或 iOS/macOS 的原生驗證流程。 若要這樣做,您必須將挑戰類型欄位新增至您的設定。 查問類型為值清單,應用程式會利用其值通知 Microsoft Entra 有關其支援的驗證方法。 您可以在這裡找到有關原生驗證查問類型的詳細資訊。 如果未更新設定以整合原生驗證元件,原生驗證 SDK 和 API 將無法使用。

啟用原生驗證的風險

Microsoft Entra 的原生驗證不支援單一登入 (SSO),而確保應用程式安全性的責任在於您的開發團隊。

如何使用原生驗證

您可以使用我們的原生驗證 API 或適用於 Android 和 iOS/macOS 的 Microsoft 驗證庫 (MSAL) SDK 來組建使用原生驗證的應用程式。 盡可能使用 MSAL 將原生驗證新增至您的應用程式。

如需原生驗證範例和教學課程的詳細資訊,請參閱下表。

語言/
平台
程式碼範例指南 建置和整合指南
Android (Kotlin) 登入使用者 登入使用者
iOS (Swift) 登入使用者 登入使用者
macOS (Swift) 登入使用者 登入使用者

如果您打算在 MSAL 目前不支援的架構上建立應用程式,您可以使用我們的驗證 API。 如需詳細資訊,請遵循 此 API 參考文章