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

已完成

在此練習中,您將使用 ASP.NET Core 應用程式,並將它連接到 Microsoft 365。 您將使用名為 Microsoft.Identity.Web 的 .NET Core 組件,以允許使用者使用其 Microsoft 365 帳戶來登入您的應用程式。 接著會使用 Microsoft Graph .NET Core SDK 顯示其名稱和設定檔圖片。

設定及執行範例應用程式

此練習可方便您建立基本 Web 應用程式。 若要取得您將使用的初始啟動應用程式程式碼,請瀏覽至 https://github.com/microsoftdocs/mslearn-m365-microsoftgraph-dotnetcorerazor,並選擇下列其中一個選項:

  • 如果您使用 Git,請使用 git clone 命令複製該專案:

    git clone https://github.com/microsoftdocs/mslearn-m365-microsoftgraph-dotnetcorerazor.git
    
  • 如果您不使用 Git,選取 [程式碼] 按鈕,然後選取 [下載 ZIP]。 將 *.zip 檔案解壓縮到您的電腦。

在您的電腦上擁有初始應用程式之後,請遵循下列步驟,在程式碼編輯器中開啟應用程式。

  1. 前往包含應用程式原始程式碼的資料夾,並根據您的程式碼編輯器選取下列其中一個選項。

    • Visual Studio (2019 版本 16.11.0 或更新版本)

      mslearn-m365-microsoftgraph-dotnetcorerazor/Begin 資料夾中連按兩下 MicrosoftGraph-DotNetCoreRazor.sln 以開啟專案。

    • Visual Studio Code 或其他程式碼編輯器

      在程式碼編輯器中開啟 mslearn-m365-microsoftgraph-dotnetcorerazor/Begin 資料夾。

  2. 在程式碼編輯器中開啟 appsettings.json 檔案,並用一點時間查看部分設定。

  3. Scopes 屬性的值變更為下列,以允許讀取使用者的設定檔和目前狀態、信箱設定 (時區資訊) 和行事曆的存取權。

    user.read presence.read mailboxsettings.read calendars.read
    
  4. 儲存 appsettings.json 然後再繼續。

  5. 若要新增 Azure Active Directory ClientIdClientSecret 值,您將使用 ASP.NET Core 應用程式密碼。

  6. mslearn-m365-microsoftgraph-dotnetcorerazor/Begin 資料夾的根目錄開啟終端機視窗,然後執行下列命令,將 YOUR_APP_ID 以來自 Azure 入口網站的您的應用程式 (用戶端) 識別碼取代,並將 YOUR_APP_SECRET 以您建立的應用程式密碼取代。

    dotnet user-secrets init
    dotnet user-secrets set "AzureAd:ClientId" "YOUR_APP_ID"
    dotnet user-secrets set "AzureAd:ClientSecret" "YOUR_APP_SECRET"
    

    重要事項

    在生產應用程式中,您可以將敏感性資訊儲存在安全的位置,例如 Azure Key Vault

  7. 此專案會使用下列 Microsoft 身分識別平台和 Microsoft Graph 組件:

    • Microsoft.Identity.Web: 用來要求和管理存取權杖。
    • Microsoft.Identity.Web.UI: 提供用於登入和登出的 UI。
    • Microsoft.Identity.Web.MicrosoftGraph: 提供 Microsoft Graph SDK 的相依性插入。
  8. 請根據您的程式碼編輯器執行下列步驟:

    • Visual Studio

      F5 以組建及執行專案。

    • Visual Studio Code 或另一個程式碼編輯器

      開始資料夾中開啟終端視窗,然後執行下列命令:

      dotnet run
      

    重要事項

    如果您收到 localhost 憑證不受信任的警告,請參閱信任 Windows 和 macOS 上的 ASP.NET Core HTTPS 開發憑證,以取得使用 .NET Core CLI 來信任開發憑證的相關指示。 如果您在 Visual Studio 中執行,且尚未核准您電腦上的開發人員憑證,系統可能會提示您核准憑證。

  9. 開啟瀏覽器並瀏覽至 https://localhost:5001

    提示

    如果您在日常工作中使用 Microsoft 365,並計劃在開發租用戶中進行這項練習 (建議),建議您在私人或瀏覽器的無痕模式下執行。 您甚至可以選擇使用與平常生產環境不同的瀏覽器或瀏覽器設定檔。

  10. 使用您的 Microsoft 365 帳戶登入。

  11. 成功登入之後,系統會提示您同意所需的權限。 選取核取方塊以同意組織的權限,然後選取 [接受] 按鈕。

  12. 您應該會看到應用程式顯示歡迎訊息,其中包含您的使用者名稱和設定檔圖片。

  13. 關閉瀏覽器,然後按一下終端機視窗中的 CTRL+C 以停止伺服器。

    注意事項

    如果您已在 Visual Studio 中開啟專案, 可以關閉瀏覽器或選取 Visual Studio 中的 SHIFT+F5,以停止伺服器。 關閉 Visual Studio 建立的終端視窗 (如果它仍為開啟)。