适用于: 员工租户
外部租户(了解详细信息)
本教程是一系列教程的第 1 部分,演示如何创建 .NET 多平台应用 UI (.NET MAUI) shell 应用。 本教程演示如何创建 .NET MAUI shell 应用、添加自定义Microsoft身份验证库(MSAL)客户端帮助程序来初始化 MSAL SDK、安装所需的库并包括映像资源。
在本教程中,你将:
- 创建 .NET MAUI shell 应用。
- 使用 MSAL 帮助程序类添加 MSAL SDK 支持。
- 安装所需的包。
- 添加图像资源。
先决条件
- 在 Microsoft Entra 管理中心注册一个新应用,并配置为仅适用于此组织目录中的帐户。 有关更多详细信息 ,请参阅注册应用程序 。 在应用程序 概述 页中记录以下值供以后使用:
- 应用程序(客户端)ID
- 目录(租户)ID
- 将应用与 Microsoft Entra 管理中心中的用户流相关联。 此用户流可以跨多个应用程序使用。 有关详细信息,请参阅 为外部租户中的应用创建自助服务注册用户流 ,并将 应用程序添加到用户流。
- .NET 7.0 开发工具包
- 安装有 MAUI 工作负载的 Visual Studio 2022:
创建 .NET MAUI 应用
- 在 Visual Studio 2022 的开始窗口中,选择 创建新项目。
- 在
创建新项目 窗口中,在“所有项目类型”下拉列表中选择MAUI ,选择.NET MAUI 应用 模板,然后选择“下一步”。 - 在“配置新项目”窗口中,必须将“项目名称”设置为“SignInMaui”。 将“解决方案名称”更新为“sign-in-maui”,然后选择“下一步”。
- 在 “其他信息 ”窗口中,选择 .NET 7.0,然后选择“ 创建”。
等待项目创建完成并恢复其依赖项。
使用 MSAL 帮助程序类添加 MSAL SDK 支持
MSAL 客户端使开发人员能够从外部租户获取安全令牌,以便对受保护的 Web API 进行身份验证和访问。 在本部分中,将下载构成 MSALClient 的文件。
将以下文件下载到计算机中的文件夹中:
- AzureAdConfig.cs - 此文件从应用配置文件中获取和设置Microsoft Entra 应用唯一标识符。
- DownStreamApiConfig.cs - 此文件获取并设置 Microsoft Graph 调用的范围。
- DownstreamApiHelper.cs - 此文件处理调用下游 API 时发生的异常。
- Exception.cs - 此文件提供了一些与异常引发和处理相关的扩展方法。
- IdentityLogger.cs - 此文件演示如何使用 MSAL.NET 进行日志记录。
- MSALClientHelper.cs - 此文件包含初始化 MSAL SDK 的方法。
- PlatformConfig.cs - 此文件包含处理特定平台的方法。 例如,Windows。
- PublicClientSingleton.cs - 此文件包含一个单一实例实现,用于包装 MSALClient 和关联的类,以支持平台的静态初始化模型。
- WindowsHelper.cs - 此文件包含用于检索窗口句柄的方法。
重要
请勿跳过下载 MSALClient 文件,它们是完成本教程所需的文件。
使用 Visual Studio 移动 MSALClient 文件
- 在 解决方案资源管理器 窗格中,右键单击 SignInMaui 项目,然后选择 添加>新文件夹。 将文件夹命名为 MSALClient。
- 右键单击“MSALClient”文件夹,选择“添加”“现有项...”。>
- 导航到包含之前下载的 MSALClient 文件的文件夹。
- 选择所有 MSALClient 文件,然后选择“ 添加”
安装所需的包
需要安装以下包:
-
Microsoft.Identity.Client
- 此包包含适用于 .NET 的Microsoft身份验证库(MSAL.NET)的二进制文件。 -
Microsoft.Extensions.Configuration.Json
- 此包包含 Microsoft.Extensions.Configuration 的 JSON 配置提供程序实现。 -
Microsoft.Extensions.Configuration.Binder
- 此包包含用于将对象绑定到 Microsoft.Extensions.Configuration 的配置提供程序中的数据的功能。 -
Microsoft.Extensions.Configuration.Abstractions
- 此包包含关于键值对配置的抽象概念。 -
Microsoft.Identity.Client.Extensions.Msal
- 此包包含用于 .NET 的Microsoft身份验证库(MSAL.NET)的扩展。
NuGet 包管理器
若要使用 NuGet 包管理器 在 Visual Studio 中安装 Microsoft.Identity.Client 包,请执行以下步骤:
- 选择“工具”“NuGet 包管理器”>“管理解决方案...的 NuGet 包”。>
- 在“浏览”选项卡中,搜索“Microsoft.Identity.Client”。
- 在列表中选择 Microsoft.Identity.Client。
- 在“项目”列表窗格中选择“SignInMaui”。
- 选择 安装。
- 如果系统提示验证安装,请选择“确定”。
重复此过程以安装剩余的必需包。
添加图像资源
在本部分中,你将下载在应用中使用的映像,以增强用户与其交互的方式。
下载下图:
- 图标:Microsoft Entra ID - 此图像用作主页中的图标。
使用 Visual Studio 移动图像
- 在 Visual Studio 的“解决方案资源管理器” 窗格中,展开“资源”文件夹,其中显示了 图像 文件夹。
- 右键单击“图像”,然后选择“添加”>“现有项...”。
- 导航到包含下载的图像的文件夹。
- 将文件类型筛选器更改为“图像文件”。
- 选择下载的图像。
- 选择 并添加。