46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
---
|
|
description:
|
|
globs:
|
|
alwaysApply: false
|
|
---
|
|
# OIDC/OAuth2 服务器项目结构
|
|
|
|
这是一个基于 Go 语言实现的 OIDC/OAuth2 认证服务器。
|
|
|
|
## 核心组件
|
|
|
|
### 主要入口
|
|
- [main.go](mdc:main.go) - 应用程序的主入口点,负责初始化和启动服务器
|
|
|
|
### 关键目录
|
|
- **handlers/** - HTTP 请求处理器
|
|
- [handlers/admin_handler.go](mdc:handlers/admin_handler.go) - 管理员相关功能处理
|
|
- **services/** - 业务逻辑层
|
|
- **models/** - 数据模型定义
|
|
- **middleware/** - HTTP 中间件
|
|
- **config/** - 配置文件
|
|
- **templates/** - HTML 模板文件
|
|
- **utils/** - 通用工具函数
|
|
|
|
## 主要功能模块
|
|
|
|
### 管理员功能
|
|
管理员模块提供以下功能:
|
|
- 用户管理(创建、编辑、删除、列表)
|
|
- 客户端应用管理
|
|
- 管理员登录认证
|
|
|
|
### 认证流程
|
|
实现了标准的 OAuth2 和 OpenID Connect 认证流程:
|
|
- 授权码模式
|
|
- 密码模式
|
|
- 客户端凭证模式
|
|
- 隐式授权模式
|
|
|
|
## 开发指南
|
|
- 新增 API 端点应在 handlers/ 目录下创建对应的处理器
|
|
- 业务逻辑应放在 services/ 目录下
|
|
- 所有数据库模型定义应放在 models/ 目录下
|
|
- 通用的中间件应放在 middleware/ 目录下
|
|
|