分享方式:


呼叫 Web API 的傳統型應用程式:應用程式註冊

本文涵蓋傳統型應用程式的應用程式註冊細節。

支援的帳戶類型

傳統型應用程式中支援的帳戶類型,取決於您想要突顯的體驗。 基於此關聯性,支援的帳戶類型取決於您想要使用的流程。

取得互動式權杖的對象

如果您的傳統型應用程式使用互動式驗證,則您可以從任何帳戶類型登入使用者。

傳統型應用程式無訊息流程的對象

  • 若要使用整合式 Windows 驗證或使用者名稱和密碼,您的應用程式必須在您自己的租用戶中登入使用者,例如,如果您是企業營運應用程式 (LOB) 開發人員。 或者,在 Microsoft Entra 組織中,如果是 ISV 案例,則您的應用程式必須在您自己的租用戶中登入使用者。 Microsoft 個人帳戶不支援這些驗證流程。
  • 如果您使用可傳遞企業對商務 (B2C) 授權單位和原則的社交身分識別來登入使用者,則只能使用互動式和使用者名稱密碼驗證。

重新導向 URI

要在傳統型應用程式中使用的重新導向 URI 取決於您想要使用的流程。

在 Microsoft Entra 系統管理中心的 [應用程式註冊] 中針對應用程式設定平台設定,以指定應用程式的重新導向 URI。

  • 針對使用 Web 驗證管理員 (WAM) 的應用程式,不需要在 MSAL 中設定重新導向 URI,但必須在應用程式註冊中進行設定。

  • 針對使用互動式驗證的應用程式:

    • 使用內嵌瀏覽器的應用程式:https://login.microsoftonline.com/common/oauth2/nativeclient (注意:如果您的應用程式顯示一般未包含網址列的視窗,則使用的是「內嵌瀏覽器」)。
    • 使用系統瀏覽器的應用程式:http://localhost (注意:如果您的應用程式使用系統的預設瀏覽器 (例如 Edge、Chrome、Firefox 等等) 來造訪 Microsoft 登入入口網站,則是使用「系統瀏覽器」。)

    重要

    安全性最佳做法是建議您明確地設定 https://login.microsoftonline.com/common/oauth2/nativeclienthttp://localhost 做為重新導向 URI。 有些驗證程式庫 (例如 MSAL.NET) 會在未指定任何其他重新導向 URI 時使用預設值 urn:ietf:wg:oauth:2.0:oob (不建議使用)。 此預設值將會在下一個主要版本中更新為重大變更。

  • 如果您建置適用於 macOS 的原生 Objective-C 或 Swift 應用程式,則請使用下列格式註冊以您應用程式套件組合識別碼為基礎的重新導向 URI:msauth.<your.app.bundle.id>://auth。 將 <your.app.bundle.id> 取代為您應用程式的套件組合識別碼。

  • 如果您建置 Node.js Electron 應用程式,則請使用自訂檔案通訊協定 (而非一般 Web (https://) 重新導向 URI) 來處理授權流程的重新導向步驟,例如 msal{Your_Application/Client_Id}://auth (例如 msal00001111-aaaa-2222-bbbb-3333cccc4444://auth)。 自訂字串通訊協定名稱不應該很容易猜到,而且應該遵循原生應用程式的 OAuth 2.0 規格中的建議。

  • 如果您的應用程式只使用整合式 Windows 驗證或使用者名稱和密碼,則不需要為應用程式註冊重新導向 URI。 這些流程會往返 Microsoft 身分識別平台 v2.0 端點。 您的應用程式不會在任何特定的 URI 上被回呼。

  • 若要使用精靈應用程式中所使用的用戶端認證流程從機密用戶端應用程式來區分裝置程式碼流程整合式 Windows 驗證,以及使用者名稱和密碼 (這些都不需要重新導向 URI),則請將其設定為公用用戶端應用程式。 若要達成這項組態︰

    1. Microsoft Entra 系統管理中心中,在 [應用程式註冊] 選擇您的應用程式,然後選擇 [驗證]

    2. 在 [進階設定] > [允許公用用戶端流程] > [啟用下列行動和桌面流程:] 中,選取 [是]

      在 Azure 入口網站的 [驗證] 窗格上啟用公用用戶端設定

API 權限

傳統型應用程式會為已登入的使用者呼叫 API。 它們需要要求委派的權限。 它們無法要求只在精靈應用程式中處理的應用程式權限。

下一步

繼續本案例的下一篇文章:應用程式程式碼設定