LingAdmin/Backend/Services/IdentityService
Ling aefad16b2a init 2026-04-16 18:13:06 +08:00
..
LingAdmin.IdentityService init 2026-04-16 18:13:06 +08:00
README.md init 2026-04-16 18:13:06 +08:00

README.md

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

启动方式

独立启动

cd LingAdmin.IdentityService
dotnet run

使用 Dapr 启动

dapr run --app-id identity-service --app-port 5001 --dapr-http-port 3501 --resources-path ../dapr/components -- dotnet run

数据库迁移

# 添加迁移
dotnet ef migrations add <MigrationName>

# 更新数据库
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

{
  "ConnectionStrings": {
    "DefaultConnection": "数据库连接字符串"
  },
  "JwtSettings": {
    "SecretKey": "JWT 密钥 (至少32字符)",
    "Issuer": "Token 发行者",
    "Audience": "Token 接收者",
    "AccessTokenExpiryMinutes": 60,
    "RefreshTokenExpiryDays": 7
  }
}

密码策略

  • 最少 8 个字符
  • 至少一个大写字母
  • 至少一个小写字母
  • 至少一个数字
  • 至少一个特殊字符