短信连接器
部分实现 -- 基础设施已完成,暂无内置短信 Provider 实现。连接器的 CRUD 管理和测试功能可正常使用,但需要开发具体的短信 Provider 后才能实际发送短信。
概述
短信连接器用于集成短信发送服务,使 Code Bird Cloud 能够向用户发送验证码短信。当用户使用手机号进行注册、登录或密码重置时,系统会通过已配置的短信连接器发送包含验证码的短信。
使用场景
短信连接器在以下场景中发挥作用:
| 场景 | 说明 |
|---|---|
| 手机号注册验证 | 用户使用手机号注册时,系统发送验证码短信验证手机号的有效性 |
| 手机验证码登录 | 用户选择 "手机号 + 验证码" 方式登录时,系统发送一次性验证码 |
| 忘记密码 | 用户通过手机号重置密码时,系统发送验证码短信验证身份 |
常见短信 Provider
以下是可以集成的常见短信发送服务:
| Provider | 说明 |
|---|---|
| 阿里云 SMS | 阿里云短信服务,国内覆盖广、到达率高 |
| Twilio | 全球化短信服务,覆盖 180+ 国家和地区 |
| 腾讯云 SMS | 腾讯云短信服务,适合国内用户 |
| 华为云 SMS | 华为云短信服务 |
| AWS SNS | Amazon Simple Notification Service,适合 AWS 生态用户 |
配置示例
以下是创建短信连接器的配置示例(以阿里云 SMS 为例):
json
{
"connector_id": "aliyun-sms",
"type": "Sms",
"config": {
"access_key_id": "your_access_key_id",
"access_key_secret": "your_access_key_secret",
"sign_name": "你的短信签名",
"template_code": "SMS_123456789"
},
"enabled": true
}配置字段说明
不同的短信 Provider 所需的配置字段不同,以下以阿里云 SMS 为例:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
access_key_id | string | 是 | 阿里云 AccessKey ID |
access_key_secret | string | 是 | 阿里云 AccessKey Secret |
sign_name | string | 是 | 短信签名名称(需在阿里云 SMS 控制台中申请并审核通过) |
template_code | string | 是 | 短信模板 Code(需在阿里云 SMS 控制台中创建并审核通过) |
使用阿里云 SMS 前,需要在阿里云控制台中完成短信签名和模板的申请和审核。模板内容中需要包含验证码变量(如
${code})。
API 参考
创建短信连接器
POST /api/v1/connectors
Content-Type: application/json
{
"connector_id": "aliyun-sms",
"type": "Sms",
"config": {
"access_key_id": "LTAI5tExample",
"access_key_secret": "your-secret-key",
"sign_name": "CodeBird",
"template_code": "SMS_123456789"
},
"enabled": true
}更新短信连接器
PATCH /api/v1/connectors/:id
Content-Type: application/json
{
"config": {
"access_key_id": "new_access_key_id",
"access_key_secret": "new_access_key_secret",
"sign_name": "CodeBird",
"template_code": "SMS_987654321"
}
}测试短信连接器
配置完成后,建议通过测试端点验证配置是否正确。系统会尝试发送一条测试短信。
POST /api/v1/connectors/:id/test删除短信连接器
DELETE /api/v1/connectors/:id删除正在使用的短信连接器会导致手机验证码功能不可用。请确保在删除前已从登录体验配置中移除对手机验证码的依赖。
与登录体验的集成
短信连接器配置并启用后,需要在登录体验配置中启用对应的登录/注册方式才能生效:
- 在管理后台进入 "登录体验" 配置页面
- 在登录方式中添加 "手机号" 标识符,并启用 "验证码登录"
- 在注册设置中添加 "手机号" 标识符,并根据需要启用 "需要验证"
- 保存配置
配置完成后,登录页面将展示手机验证码登录选项,注册页面将支持手机号注册和验证。
