Microsoft Entra 外部 ID 中的原生認證

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

Microsoft Entra 的原生認證功能讓您能完全掌控行動與桌面應用程式登入體驗的設計。 與瀏覽器解決方案不同,原生認證讓你能創造視覺上吸引人、像素完美無瑕的認證畫面,無縫融入應用程式介面。 使用這種方法,您可以完全自定義使用者介面,包括設計元素、標誌放置和版面配置,確保一致且品牌的外觀。

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

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

使用原生驗證的時機

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

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

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

關於兩種方法的並排比較,包括功能可用性、支援的語言與框架、使用者體驗、客製化及安全性取捨,請參見 「選擇認證方法」。

如何啟用原生驗證

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

如果您的團隊判斷應用程式需要原生認證,請依照以下步驟在 Microsoft Entra 系統管理中心 啟用原生認證:

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

更新您的組態程序代碼

啟用管理中心的原生認證 API 後,你仍需更新應用程式的設定碼,以支援 Android 或 iOS/macOS 的原生認證流程。 若要這樣做,您必須將挑戰類型字段新增至您的組態。 挑戰類型是應用程式用來通知 Microsoft Entra 支援的認證方法的數值清單。 你可以在 「原生認證挑戰類型」中找到更多關於原生認證挑戰類型的資訊。 如果設定沒有更新以整合原生認證元件,原生認證 SDK 和 API 就無法使用。

原生認證的安全考量

原生認證讓你的開發團隊完全掌控認證體驗。 在這種控制下,你必須負責在應用程式實施中遵循安全最佳實務,例如安全令牌處理與傳輸安全(HTTPS)。

單一登入 (SSO)

原生認證支援嵌入式網頁檢視的單一登入(SSO)。 這讓使用者只需透過原生應用程式的介面登入一次,就能存取嵌入網頁檢視(例如 WKWebView iOS 或 WebView Android 上)所託管的網路資源,而不會遇到第二個登入提示。

應用程式透過使用 Native Auth SDK 或 原生認證 API 取得存取權杖,並透過 Authorization 標頭注入網頁檢視的 HTTP 請求中來達成此目標。 網路資源會驗證令牌並建立會話,提供從原生體驗無縫過渡到網頁內容的過程。

關於實作步驟,請參見 「從原生應用程式實作單一登入到嵌入式網頁檢視」。

Note

透過系統瀏覽器的跨應用程式單點登入(SSO)並不支援原生認證。

如何使用原生驗證

你可以透過我們的原生認證 API 或 Microsoft 驗證資源庫(MSAL)SDK 支援 Android、iOS、macOS 及網頁應用程式,打造使用原生認證的應用程式。 盡可能使用 MSAL 將原生驗證新增至您的應用程式。

欲了解更多原生認證範例與教學資訊,請參閱以下表格:

語言/
平臺
快速入門 建置與整合指南
Android (Kotlin) • 登入的使用者 • 登入的使用者
iOS (Swift) • 登入的使用者 • 登入的使用者
macOS (Swift) • 登入的使用者 • 登入的使用者
React (Next.js) • 快速入門 • 教學課程
角 • 快速入門 • 教學課程

如果您打算在 MSAL 目前不支援的架構上建立應用程式,您可以使用我們的驗證 API。 欲了解更多資訊,請參閱 原生認證 API 參考資料。