190 lines
4.8 KiB
Markdown
190 lines
4.8 KiB
Markdown
# 阿里云身份认证配置文件设置指南
|
||
|
||
## 配置方式说明
|
||
|
||
根据用户需求,系统已配置为**直接从配置文件读取**阿里云身份认证信息,不使用环境变量。
|
||
|
||
## 配置文件结构
|
||
|
||
### application.yml 配置
|
||
```yaml
|
||
aliyun:
|
||
# --- 阿里云身份认证服务配置 ---
|
||
cloudauth:
|
||
region: cn-hangzhou # 区域配置
|
||
endpoint: cloudauth.aliyuncs.com # API端点
|
||
# 直接从配置文件读取认证信息
|
||
access-key-id: LTAI5t68do3qVXx5Rufugt3X # AccessKey ID
|
||
access-key-secret: 2vD9ToIff49Vph4JQXsn0Cy8nXQfzA # AccessKey Secret
|
||
connection-timeout: 10000 # 连接超时时间(ms)
|
||
response-timeout: 10000 # 响应超时时间(ms)
|
||
# 身份认证配置
|
||
biz-type: ID_2META # 业务类型:身份证二要素验证
|
||
param-type: normal # 参数类型:normal表示不加密
|
||
```
|
||
|
||
## 代码配置读取
|
||
|
||
### Java 配置注入
|
||
```java
|
||
@Value("${aliyun.cloudauth.access-key-id}")
|
||
private String accessKeyId;
|
||
|
||
@Value("${aliyun.cloudauth.access-key-secret}")
|
||
private String accessKeySecret;
|
||
|
||
@Value("${aliyun.cloudauth.region}")
|
||
private String region;
|
||
|
||
@Value("${aliyun.cloudauth.endpoint}")
|
||
private String endpoint;
|
||
|
||
@Value("${aliyun.cloudauth.param-type}")
|
||
private String paramType;
|
||
```
|
||
|
||
### 特点说明
|
||
- ✅ **直接读取**: 无默认值,直接从配置文件读取
|
||
- ✅ **无环境变量依赖**: 完全不依赖环境变量
|
||
- ✅ **配置集中**: 所有配置在application.yml中统一管理
|
||
- ✅ **类型安全**: Spring会自动进行类型转换和验证
|
||
|
||
## 配置参数说明
|
||
|
||
| 参数 | 说明 | 示例值 | 必需 |
|
||
|------|------|--------|------|
|
||
| `region` | 阿里云区域 | cn-hangzhou | ✅ |
|
||
| `endpoint` | API端点 | cloudauth.aliyuncs.com | ✅ |
|
||
| `access-key-id` | 阿里云AccessKey ID | LTAI5t68... | ✅ |
|
||
| `access-key-secret` | 阿里云AccessKey Secret | 2vD9ToIf... | ✅ |
|
||
| `connection-timeout` | 连接超时时间(毫秒) | 10000 | ✅ |
|
||
| `response-timeout` | 响应超时时间(毫秒) | 10000 | ✅ |
|
||
| `biz-type` | 业务类型 | ID_2META | ✅ |
|
||
| `param-type` | 参数类型 | normal | ✅ |
|
||
|
||
## 配置验证
|
||
|
||
### 启动时验证
|
||
应用启动时会自动验证配置:
|
||
```
|
||
2024-09-01 10:30:00 INFO - 阿里云身份认证配置加载成功
|
||
2024-09-01 10:30:00 INFO - Region: cn-hangzhou
|
||
2024-09-01 10:30:00 INFO - Endpoint: cloudauth.aliyuncs.com
|
||
2024-09-01 10:30:00 INFO - ParamType: normal
|
||
```
|
||
|
||
### 运行时日志
|
||
API调用时会显示配置信息:
|
||
```
|
||
调用阿里云Id2MetaStandardVerify API - 姓名: 张三, 身份证: 110101****, ParamType: normal
|
||
```
|
||
|
||
## 安全配置建议
|
||
|
||
### 1. 生产环境配置
|
||
```yaml
|
||
aliyun:
|
||
cloudauth:
|
||
region: cn-hangzhou
|
||
endpoint: cloudauth.aliyuncs.com
|
||
access-key-id: [生产环境AccessKey ID]
|
||
access-key-secret: [生产环境AccessKey Secret]
|
||
param-type: normal
|
||
```
|
||
|
||
### 2. 测试环境配置
|
||
```yaml
|
||
aliyun:
|
||
cloudauth:
|
||
region: cn-hangzhou
|
||
endpoint: cloudauth.aliyuncs.com
|
||
access-key-id: [测试环境AccessKey ID]
|
||
access-key-secret: [测试环境AccessKey Secret]
|
||
param-type: normal
|
||
```
|
||
|
||
### 3. 权限要求
|
||
确保AccessKey具有以下权限:
|
||
- `AliyunCloudAuthFullAccess` (推荐)
|
||
- 或最小权限:`cloudauth:Id2MetaStandardVerify`
|
||
|
||
## 配置修改步骤
|
||
|
||
### 1. 更新AccessKey
|
||
```yaml
|
||
# 修改application.yml
|
||
aliyun:
|
||
cloudauth:
|
||
access-key-id: [新的AccessKey ID]
|
||
access-key-secret: [新的AccessKey Secret]
|
||
```
|
||
|
||
### 2. 重启应用
|
||
```bash
|
||
# 重启Spring Boot应用
|
||
mvn spring-boot:run
|
||
# 或
|
||
java -jar target/1818_user_server-1.0-SNAPSHOT.jar
|
||
```
|
||
|
||
### 3. 验证配置
|
||
查看启动日志确认配置加载成功
|
||
|
||
## 故障排除
|
||
|
||
### 配置缺失错误
|
||
```
|
||
Error: Could not resolve placeholder 'aliyun.cloudauth.access-key-id'
|
||
```
|
||
**解决方案**: 检查application.yml中是否正确配置了所有必需参数
|
||
|
||
### 权限错误
|
||
```
|
||
API响应Code: 440, Message: 无权限调用
|
||
```
|
||
**解决方案**:
|
||
1. 检查AccessKey权限
|
||
2. 确认实人认证服务已开通
|
||
3. 验证区域配置正确
|
||
|
||
### 网络连接错误
|
||
```
|
||
调用阿里云身份认证API失败: Connect timeout
|
||
```
|
||
**解决方案**:
|
||
1. 检查网络连接
|
||
2. 验证endpoint配置
|
||
3. 检查防火墙设置
|
||
|
||
## 配置文件示例
|
||
|
||
### 完整配置示例
|
||
```yaml
|
||
# application.yml
|
||
server:
|
||
port: 8081
|
||
|
||
spring:
|
||
application:
|
||
name: 1818-user-server
|
||
|
||
# 其他配置...
|
||
|
||
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
|
||
```
|
||
|
||
---
|
||
|
||
*配置方式:直接配置文件读取*
|
||
*更新时间:2024年9月1日*
|
||
*状态:✅ 已实施并验证*
|