You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
4 weeks ago | |
|---|---|---|
| docs | 4 weeks ago | |
| src | 4 weeks ago | |
| .gitignore | 4 weeks ago | |
| README.md | 4 weeks ago | |
| pom.xml | 4 weeks ago | |
README.md
数字人民币教学仿真后端
开发规范与模块目录约定见 开发规范。
登录方式
- 主平台单点登录:主平台跳转至
GET /api/v1/auth/sso?token=...。后端以主平台教师或学生档案的add_time动态 HMAC 密钥验证 Token,生成一次性code并跳转至前端回调地址。 - 独立访问:浏览器访问
GET /api/v1/auth/cas/login,跳转学校 CAS;回调校验成功后生成同样的一次性code。 - 本地账号密码:
POST /api/v1/auth/login仅校验本系统保存的 BCrypt 密码哈希。数据库迁移内置学生账号tzs001;SSO/CAS 仅同步身份与角色,不读取主平台密码。 - 会话兑换:
POST /api/v1/auth/session/exchange,请求体为{"code":"..."},返回本系统访问 JWT 和刷新令牌。
本系统只接受教师和学生两类身份。平台账号与角色只能通过内部投影写入;没有用户、角色或用户角色的管理接口。
必需配置
生产环境通过环境变量配置:
| 变量 | 说明 |
|---|---|
DIGITAL_RMB_DB_URL |
本系统 MySQL JDBC 地址 |
DIGITAL_RMB_DB_USERNAME |
本系统数据库账号 |
DIGITAL_RMB_DB_PASSWORD |
本系统数据库密码 |
DIGITAL_RMB_JWT_SECRET |
至少 64 字符的应用 JWT 密钥 |
DIGITAL_RMB_PLATFORM_DB_URL |
主平台 MySQL JDBC 地址 |
DIGITAL_RMB_PLATFORM_DB_USERNAME |
主平台只读数据库账号 |
DIGITAL_RMB_PLATFORM_DB_PASSWORD |
主平台只读数据库密码 |
DIGITAL_RMB_CAS_LOGIN_URL |
学校 CAS 登录地址 |
DIGITAL_RMB_CAS_VALIDATE_URL |
CAS serviceValidate 地址 |
DIGITAL_RMB_CAS_CALLBACK_URL |
本系统固定 CAS 回调地址 |
DIGITAL_RMB_FRONTEND_CALLBACK_URL |
前端接收一次性 code 的固定回调地址 |
主平台数据库账号必须仅授予 SELECT 权限。不要将主平台 Token 写入日志、数据库或前端最终 URL。
本地运行
mvn spring-boot:run -Dspring-boot.run.profiles=local -Dspring-boot.run.arguments=--server.port=8081
本地 Swagger:http://localhost:8081/swagger-ui/index.html
首次启动时,Flyway V3 迁移会创建或更新 tzs001(平台用户 ID 487、STUDENT)。迁移文件只保存 BCrypt 哈希,不含密码明文。新 SSO/CAS 用户会获得随机 BCrypt 密码;如需为其开通本地密码登录,必须通过后续受控的本地账号初始化流程完成。