# LingAdmin Identity Service 身份认证微服务 - 负责用户注册、登录、Token 管理等功能。 ## 服务信息 | 属性 | 值 | |------|-----| | 端口 | 5001 | | Dapr App ID | identity-service | | Dapr HTTP Port | 3501 | | 数据库 | LingAdmin_Identity | ## API 端点 ### 公开端点 (无需认证) | 方法 | 路径 | 描述 | |------|------|------| | POST | `/api/auth/register` | 用户注册 | | POST | `/api/auth/login` | 用户登录 | | POST | `/api/auth/refresh-token` | 刷新 Token | ### 受保护端点 (需要认证) | 方法 | 路径 | 描述 | 权限要求 | |------|------|------|----------| | GET | `/api/auth/profile` | 获取当前用户信息 | 登录用户 | | POST | `/api/auth/logout` | 用户登出 | 登录用户 | | POST | `/api/auth/change-password` | 修改密码 | 登录用户 | | GET | `/api/auth/validate` | 验证 Token | 登录用户 | ### 管理员端点 | 方法 | 路径 | 描述 | 权限要求 | |------|------|------|----------| | GET | `/api/users` | 获取用户列表 | Admin/SuperAdmin | | GET | `/api/users/{id}` | 获取用户详情 | Admin/SuperAdmin | | PATCH | `/api/users/{id}/status` | 更新用户状态 | Admin/SuperAdmin | | POST | `/api/users/{id}/reset-password` | 重置用户密码 | Admin/SuperAdmin | | DELETE | `/api/users/{id}` | 删除用户 | SuperAdmin | ## 启动方式 ### 独立启动 ```powershell cd LingAdmin.IdentityService dotnet run ``` ### 使用 Dapr 启动 ```powershell dapr run --app-id identity-service --app-port 5001 --dapr-http-port 3501 --resources-path ../dapr/components -- dotnet run ``` ## 数据库迁移 ```powershell # 添加迁移 dotnet ef migrations add # 更新数据库 dotnet ef database update ``` ## 默认账户 | 邮箱 | 密码 | 角色 | |------|------|------| | admin@lingadmin.com | Admin@123456 | SuperAdmin | ## 发布的事件 | 事件名称 | 描述 | 数据 | |----------|------|------| | user-created | 用户创建时发布 | UserId, Email, Name, Timestamp | | user-logged-in | 用户登录时发布 | UserId, Email, IpAddress, Timestamp | | user-password-changed | 密码修改时发布 | UserId, Timestamp | ## 配置说明 ### appsettings.json ```json { "ConnectionStrings": { "DefaultConnection": "数据库连接字符串" }, "JwtSettings": { "SecretKey": "JWT 密钥 (至少32字符)", "Issuer": "Token 发行者", "Audience": "Token 接收者", "AccessTokenExpiryMinutes": 60, "RefreshTokenExpiryDays": 7 } } ``` ## 密码策略 - 最少 8 个字符 - 至少一个大写字母 - 至少一个小写字母 - 至少一个数字 - 至少一个特殊字符