Fengling Auth Service - 认证服务
- 描述整体基于ASP.NET Core的分层架构与领域驱动设计 - 详细说明表现层、视图模型层、配置层和基础设施层职责 - 介绍用户认证、OAuth2授权码与令牌颁发的数据流过程 - 抽象说明用户与租户、声明和授权实体设计 - 说明应用启动入口和关键HTTP端点 - 列出错误处理策略和跨领域关注点(日志、追踪、安全) docs(concerns): 新增代码库问题与关注点分析文档 - 汇总并详述安全漏洞如配置文件泄露、Cookie策略不当 - 记录技术债务包括缺乏单元测试、依赖注入不统一等 - 罗列性能问题和具体代码缺陷 - 给出优先级明确的修复建议和改进措施 - 涵盖架构设计问题和依赖兼容性风险 - 说明测试覆盖缺口及高风险未测试区域 docs(conventions): 新增编码约定与规范文档 - 明确文件、类、方法、变量等命名规则 - 规范代码风格包括命名空间、主构造函数使用 - 制定日志记录、审计日志和依赖注入的标准 - 规定控制器路由、异步模式和错误处理方式 - 说明DTO命名及特性使用规范 - 描述配置管理、注释规范及常用代码注释样例 docs(integrations): 添加外部系统集成文档 - 介绍数据库连接和PostgreSQL客户端库版本 - 描述身份认证与授权服务及默认用户信息 - 说明可观测性方案及OpenTelemetry组件 - 涵盖容器化部署相关Docker与Kubernetes配置 - 说明CI/CD流水线触发条件与构建流程 - 列出环境变量需求和主要API端点 - 强调生产环境密钥管理与安全存储机制 |
||
|---|---|---|
| .gitea/workflows | ||
| .planning/codebase | ||
| k8s | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| Directory.Packages.props | ||
| Dockerfile | ||
| Fengling.AuthService.slnx | ||
| NuGet.Config | ||
| README.md | ||
Fengling Auth Service
Authentication and authorization service using OpenIddict.
Features
- JWT token issuance
- OAuth2/OIDC support
- Multi-tenant support (TenantId in JWT claims)
- Role-based access control (RBAC)
- Health check endpoint
API Endpoints
Get Token
POST /connect/token
Content-Type: application/x-www-form-urlencoded
grant_type=password
username={username}
password={password}
scope=api offline_access
Health Check
GET /health
Default Users
- Admin: username=admin, password=Admin@123, role=Admin
- Test User: username=testuser, password=Test@123, role=User
Running Locally
dotnet run
Service runs on port 5000.
Docker
docker build -t fengling-auth:latest .
docker run -p 5000:80 fengling-auth:latest
Environment Variables
ConnectionStrings__DefaultConnection: PostgreSQL connection stringOpenIddict__Issuer: Token issuer URLOpenIddict__Audience: Token audience
Database
- PostgreSQL
- Uses ASP.NET Core Identity for user/role management
- Tenant isolation via
TenantIdcolumn