將 ASP.NET Core 應用程式連接至 Microsoft 365

已完成

在此單元中,您將了解如何驗證應用程式連線至 Microsoft Graph,以透過 Microsoft 365 安全地存取資料。

驗證以從 Microsoft 365 存取資料

Microsoft Graph 是一 REST API,可公開儲存在 Microsoft 365 的資料和深入解析。 此資訊無法公開提供。 若要取得存取權,使用者必須 (a) 證明其身分識別 (驗證), 和 (b) 同意以允許您的應用程式存取其資料。 這是 Azure Active Directory 的工作。

您的應用程式需要從 Azure Active Directory 取得存取權杖,並在每個 Microsoft Graph 的要求中包含它。 您可以將存取權杖想像成電影票: 您的應用程式會使用 OAuth 通訊協定來取得「票」,然後將票出示給「服務生」(Microsoft Graph) 以看到「電影」(Microsoft 365 中受保護的資源)。

設定好身分識別後,使用者可以使用其現有的 Microsoft 365 帳戶來登入您的應用程式。 此功能讓您不需在應用程式中實作驗證,並維護使用者的認證。 它讓人員不需使用另一個認證來存取您的應用程式,因而讓人員受益。 此外,它可讓組織控制其員工對不同應用程式的存取,這是最近的重要需求。

此圖顯示 Microsoft Graph 中活動的存取流程。

使用 SDK 連線到 Microsoft 365

Azure Active Directory 和 Microsoft Graph 都是 REST 服務,因此在理論上,您可以使用直接 HTTP 要求來擷取行事曆事件。 不過,為了方便,Microsoft 提供兩個軟體發展套件 (SDK) 來處理您的要求。 這些 SDK 會負責組建要求和處理例外狀況,這可讓您專注於組建您的應用程式。

服務 SDK
Azure Active Directory Microsoft 驗證程式庫 (MSAL)
Microsoft Graph Microsoft Graph SDK

MSAL 處理 OAuth 通訊協定與 Azure Active Directory 的詳細資料。 使用 MSAL,您的應用程式會讓使用者使用他們的 Microsoft 365 帳戶來登入,並同意您的應用程式需要的任何權限。 他們登入後,MSAL 會提供您需要與 Microsoft Graph 通訊的存取權杖。

若要簡化 MSAL 的使用流程,ASP.NET Core 應用程式可以利用名為 Microsoft.Identity.Web 的組件。 此組件會摘要 MSAL 功能,並簡化將其整合至應用程式的整體流程。

後續步驟

讓我們先執行連線到 Microsoft 365 的簡易應用程式,顯示從 Microsoft 365 中擷取的使用者名稱及其設定檔圖片。