# 外部集成

**分析日期:** 2026-02-28

## API 与外部服务

**OAuth2/OpenID Connect:**
- OpenIddict 7.2.0 - 实现
  - 框架: OpenIddict.EntityFrameworkCore
  - 用途: 平台的认证服务器
  - 存储: EntityFrameworkCore（存储在 PostgreSQL 中）

## 数据存储

**数据库:**
- PostgreSQL
  - 提供程序: `Npgsql.EntityFrameworkCore.PostgreSQL` 10.0.0
  - 连接: 通过服务注册中的 `AddDbContext<TContext>()` 配置
  - ORM: Entity Framework Core 10.0.0
  - 上下文: `Fengling.Platform.Infrastructure/PlatformDbContext.cs`
  - 迁移: `Fengling.Platform.Infrastructure/Migrations/`

**文件存储:**
- 未检测到（此服务仅使用本地文件系统）

**缓存:**
- 未检测到

## 认证与身份

**认证提供程序:**
- ASP.NET Core Identity + 自定义存储
  - 用户: `Fengling.Platform.Domain/AggregatesModel/UserAggregate/ApplicationUser.cs`（继承 `IdentityUser<long>`）
  - 角色: `Fengling.Platform.Domain/AggregatesModel/RoleAggregate/ApplicationRole.cs`
  - 实现: `Microsoft.AspNetCore.Identity.EntityFrameworkCore`

**多租户:**
- 通过 `ITenantStore<TContext>` 和 `ITenantManager` 进行租户管理
  - Store: `Fengling.Platform.Infrastructure/TenantStore.cs`
  - Manager: `Fengling.Platform.Infrastructure/TenantManager.cs`
  - 实体: `Fengling.Platform.Domain/AggregatesModel/TenantAggregate/Tenant.cs`

## 监控与可观测性

**错误追踪:**
- 依赖中未检测到

**日志:**
- 标准 ASP.NET Core 日志（ILogger）

## CI/CD 与部署

**托管:**
- Docker（容器化）
  - 基础镜像: `mcr.microsoft.com/dotnet/aspnet:10.0`
  - 构建: 多阶段 Dockerfile

**CI 流水线:**
- 此仓库中未明确配置

## 环境配置

**所需环境变量:**
- 数据库连接字符串（通过 `AddDbContext` 配置）
- 标准 ASP.NET Core 环境变量

**密钥位置:**
- 基于环境的配置（代码中未检测到）

## Webhook 与回调

**传入:**
- 当前实现中未检测到

**传出:**
- 当前实现中未检测到

## 内部依赖

**共享框架:**
- NetCorePal (v3.2.1) - 内部框架包
  - 源: `https://gitea.shtao1.cn/api/packages/fengling/nuget/index.json`

---

*集成审计: 2026-02-28*
