--- 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/ 目录下