ASP.NET Core 连接 Microsoft Graph 示例项目教程
1. 项目目录结构及介绍
aspnetcore-connect-sample/
├── MicrosoftGraphAspNetCoreConnectSample/
│ ├── Controllers/
│ ├── Models/
│ ├── Views/
│ ├── wwwroot/
│ ├── appsettings.json
│ ├── Program.cs
│ ├── Startup.cs
│ └── ...
├── README.md
├── LICENSE
└── ...
目录结构说明
- MicrosoftGraphAspNetCoreConnectSample/: 项目的主要代码目录。
- Controllers/: 包含控制器类,负责处理用户请求和调用服务。
- Models/: 包含数据模型类,用于定义数据结构。
- Views/: 包含视图文件,用于呈现用户界面。
- wwwroot/: 包含静态文件,如CSS、JavaScript和图像文件。
- appsettings.json: 项目的配置文件,包含应用程序的设置和连接字符串。
- Program.cs: 项目的入口文件,负责启动应用程序。
- Startup.cs: 项目的启动配置文件,负责配置服务和中间件。
2. 项目的启动文件介绍
Program.cs
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
namespace MicrosoftGraphAspNetCoreConnectSample
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
文件说明
- Main 方法: 应用程序的入口点,调用
CreateHostBuilder
方法创建并运行主机。 - CreateHostBuilder 方法: 配置默认主机生成器,并指定
Startup
类作为启动配置类。
3. 项目的配置文件介绍
appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "yourdomain.onmicrosoft.com",
"TenantId": "your-tenant-id",
"ClientId": "your-client-id",
"CallbackPath": "/signin-oidc"
},
"Graph": {
"BaseUrl": "https://graph.microsoft.com/v1.0",
"Scopes": "User.Read Mail.Send"
}
}
配置项说明
- Logging: 配置日志记录级别。
- AllowedHosts: 允许访问的主机列表。
- AzureAd: 配置 Azure AD 相关的设置,如实例、域、租户 ID、客户端 ID 和回调路径。
- Graph: 配置 Microsoft Graph 相关的设置,如基础 URL 和权限范围。
通过以上配置,项目可以正确连接到 Azure AD 并使用 Microsoft Graph API 进行用户身份验证和数据访问。