练习 - 将 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 files.readwrite
    
  4. 在继续操作之前,请保存 appsettings.json

  5. 若要添加 Microsoft Entra ID ClientIdClientSecret 值,请使用 ASP.NET Core 应用机密。

  6. 打开 mslearn-m365-microsoftgraph-dotnetcorerazor/Begin 文件夹的根目录的终端窗口,并运行以下命令,将 YOUR_APP_ID 替换为 Azure 门户中的 应用程序(客户端)ID ,并使用你创建的应用程序密码替换 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 或其他代码编辑器

      Begin 文件夹中打开终端窗口,并运行以下命令:

      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 创建的终端窗口仍处于打开状态,请关闭它。