4.0 KiB
4.0 KiB
阿里云身份认证服务集成说明
功能概述
本项目已成功集成阿里云身份认证服务(CloudAuth)的身份证二要素核验功能,实现用户实名认证。
✅ 当前状态:已启用真实的阿里云身份认证API调用(新版SDK)
🔧 最新更新: 已修复 MissingFaceImageUrl 错误,更新为官方推荐的新版SDK和正确的API接口。
实现的功能
1. 实名认证接口
- 端点:
POST /user/identity/verify - 功能: 用户提交身份证号码和真实姓名进行实名认证
- 认证流程:
- 验证身份证号码和姓名格式
- 调用阿里云身份认证服务验证信息匹配性
- 验证通过后更新用户认证状态
2. 认证状态查询
- 端点:
GET /user/identity/status - 功能: 查询当前用户的实名认证状态和相关信息(脱敏后)
3. 认证状态检查
- 端点:
GET /user/identity/check - 功能: 简单检查当前用户是否已完成实名认证
数据库字段说明
用户表(user)中实名认证相关字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
real_username |
varchar(64) | 真实用户名 |
id_number |
varchar(18) | 身份证号码 |
is_verified |
tinyint | 是否实名认证 (0-未认证, 1-已认证) |
配置信息
application.yml 配置
aliyun:
cloudauth:
region: cn-hangzhou
endpoint: cloudauth.aliyuncs.com
# 直接从配置文件读取认证信息
access-key-id: LTAI5t68do3qVXx5Rufugt3X
access-key-secret: 2vD9ToIff49Vph4JQXsn0Cy8nXQfzA
connection-timeout: 10000
response-timeout: 10000
# 身份认证配置
biz-type: ID_2META
param-type: normal
配置说明
直接配置文件读取方式:
- ✅ 所有配置直接在application.yml中管理
- ✅ 无需设置环境变量
- ✅ 配置集中统一,便于管理
当前实现状态
已实现
✅ 配置文件集成
✅ 数据库字段支持
✅ API接口完整实现
✅ DTO类和响应封装
✅ 用户认证状态管理
✅ 输入验证和异常处理
✅ 日志记录和监控
✅ 真实阿里云CloudAuth SDK集成
✅ 真实身份证二要素验证
✅ 完整的错误处理和权限检查
当前实现状态
✅ 已完成真实阿里云API集成:
- ✅ 已启用阿里云SDK:
pom.xml中的阿里云CloudAuth依赖已启用 - ✅ 已实现真实API调用:
IdentityVerifyServiceImpl中已集成真实的阿里云身份认证API - ✅ 已配置访问凭证: 支持环境变量和配置文件两种方式配置AccessKey
重要提醒
⚠️ 生产环境部署前请确认:
- 配置有效的阿里云AccessKey: 确保具有CloudAuth服务权限
- 验证网络连接: 确保服务器能够访问阿里云API
- 监控API调用: 关注API调用成功率和响应时间
API使用示例
提交实名认证
curl -X POST http://localhost:8081/user/identity/verify \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_jwt_token" \
-d '{
"realName": "张三",
"idNumber": "110101199003077777"
}'
查询认证状态
curl -X GET http://localhost:8081/user/identity/status \
-H "Authorization: Bearer your_jwt_token"
安全特性
- JWT认证: 所有接口都需要有效的JWT令牌
- 数据脱敏: 查询接口返回脱敏后的用户信息
- 输入验证: 严格的身份证号码和姓名格式验证
- 异常处理: 完善的错误处理和日志记录
- 事务保证: 认证过程使用数据库事务保证数据一致性
业务逻辑保护
- 已实名认证的用户不能重复认证
- 完整的输入参数验证
- 用户状态检查和权限控制
- 不破坏现有的用户管理和业务逻辑
扩展计划
- 集成真实的阿里云CloudAuth SDK
- 添加认证历史记录
- 支持企业用户认证
- 添加认证失败重试机制
- 集成短信/邮件通知功能
文档最后更新: 2024年8月31日