AspNet6IdentityServer4AngularOidcFlows 项目教程
1. 项目目录结构及介绍
该项目是基于 ASP.NET Core 6 和 IdentityServer4 构建的一个身份验证示例,前端使用了 Angular 进行开发。以下为项目的基本目录结构:
.
├── github/workflows // GitHub 工作流配置文件
├── src // 主要代码源文件
│ ├── gitignore // Git 忽略规则文件
│ └── IdentityServerAngularOidcFlows.sln // 解决方案文件
│ └── ... // 其他项目相关文件
└── README.md // 项目说明文件
└── LICENSE // 许可证文件
└── ... // 其他辅助文件
src
文件夹内包含了主要的项目源码,包括 IdentityServer 服务端和 Angular 客户端应用。
2. 项目的启动文件介绍
2.1 服务器端(IdentityServer)
服务器端的启动入口通常位于解决方案中的某个 Startup.cs
文件中。在这个项目里,Startup.cs
负责配置应用程序的服务、中间件以及 IdentityServer 的设置。启动流程涉及以下关键步骤:
- 注册 IdentityServer4 服务。
- 配置客户端、资源和服务提供者信息。
- 配置中间件以处理授权请求、登录注销等操作。
2.2 前端(Angular 应用)
前端 Angular 应用的启动文件通常是 src/main.ts
。在这个文件中,Angular CLI 用于启动应用并加载必要的依赖和模块。核心步骤包括:
- 导入 Angular 模块(如 BrowserModule 和 AppModule)。
- 启动 Angular 应用实例。
3. 项目的配置文件介绍
项目的配置文件主要集中在 src
目录下,特别是 appsettings.json
或其他相关的 .json
文件,它们包含身份认证服务和应用程序的配置信息。
appsettings.json: 包含 IdentityServer 的配置,例如数据库连接字符串、客户端定义、秘钥等。这些设置可以影响服务器的行为,比如客户端的信任关系、安全设置等。
在 Angular 应用中,通常不会有单独的配置文件来存储应用级别的配置。然而,如果有,这些配置可能位于 src/environments/
目录下的 environment.ts
或相应的环境文件中,这些文件用于区分开发和生产环境的配置。
为了运行项目,确保已经正确设置了所有配置,并根据需求进行修改。然后通过命令行工具运行 dotnet run
在服务器端启动应用,以及通过 ng serve
在前端启动 Angular 开发服务器。