教程:创建 .NET MAUI 应用
本教程是系列教程的第 2 部分,演示了如何创建 .NET 多平台应用 UI (.NET MAUI) shell 应用。 在本教程系列的第 1 部分中,你注册了一个应用程序,并在外部租户中配置了用户流。 本教程演示了如何创建 .NET MAUI shell 应用,添加自定义 Microsoft 身份验证库 (MSAL) 客户端帮助程序来初始化 MSAL SDK、安装所需的库并包括图像资源。
在本教程中,你将:
- 创建 .NET MAUI shell 应用。
- 使用 MSAL 帮助程序类添加 MSAL SDK 支持。
- 安装所需程序包。
- 添加图像资源。
先决条件
- 教程:在外部租户中注册和配置 .NET MAUI 应用
- .NET 7.0 SDK
- 安装有 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 的“解决方案资源管理器”窗格中,展开“资源”文件夹,其中显示了“图像”文件夹。
- 右键单击“图像”,然后选择“添加”>“现有项...”。
- 导航到包含已下载图像的文件夹。
- 将文件类型筛选器更改为“图像文件”。
- 选择下载的图像。
- 选择 添加 。