JwtAuthDemo 项目常见问题解决方案
项目基础介绍
JwtAuthDemo 是一个开源项目,旨在演示如何使用 ASP.NET Core 和 Angular 实现基于 JWT(JSON Web Tokens)的身份验证和授权。该项目包括一个 Angular 单页应用程序(SPA)和一个 ASP.NET Core Web API 应用程序,同时还包含用于集成测试的项目。该项目主要通过以下编程语言实现:
- 前端(Angular):TypeScript、HTML、CSS
- 后端(ASP.NET Core):C#
新手常见问题及解决方案
问题一:如何配置和运行项目
问题描述: 新手在使用 JwtAuthDemo 时,可能不知道如何配置和运行该项目。
解决步骤:
- 确保已经安装了 Docker。
- 克隆项目到本地:
git clone https://github.com/dotnet-labs/JwtAuthDemo.git
- 切换到项目目录:
cd JwtAuthDemo
- 运行 Docker Compose 来启动项目:
docker-compose up --build --remove-orphans
- 项目启动后,可以通过浏览器访问以下地址:
- Angular 应用:
http://localhost:8080
- ASP.NET Core Web API:
https://localhost:5001
- Angular 应用:
问题二:如何修改 API BaseURL
问题描述: 在不同环境下,可能需要修改 API BaseURL。
解决步骤:
- 打开 Angular 应用的
src/environments/environment.ts
和src/environments/environment.prod.ts
文件。 - 找到
API_BASE_URL
变量,根据实际需求修改其值。 - 重新构建 Angular 应用。
问题三:遇到 401 错误,如何处理
问题描述: 当前端应用尝试访问受保护的后端资源时,可能会遇到 401 未授权错误。
解决步骤:
- 确认前端应用是否正确配置了 JWT Token。检查
JwtInterceptor
是否正确添加了 Token 到 HTTP 请求的头部。 - 确认后端 API 是否正确配置了 JWT 验证。检查控制器和方法上的
[Authorize]
特性是否正确使用。 - 如果使用的是 Docker,确认 Docker Compose 文件中的服务配置是否正确,确保前端和后端服务可以正常通信。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考