使用阿里云短信服务设置短信验证
Logto 官方提供的阿里云短信服务连接器。
提示:
本指南假设你对 Logto 连接器 (Connectors) 有基本的了解。对于不熟悉的人,请参考 连接器 (Connectors) 指南以开始了解。
开始使用
阿里云是亚洲主要的云服务提供商,提供多种云服务,包括短信(SMS,短消息服务)。阿里云短信连接器是 Logto 团队提供的插件,用于调用阿里云短信服务,借助该插件,Logto 终端用户可以通过短信验证码注册和登录他们的 Logto 账户。
在阿里云短信控制台设置短信服务
创建阿里云账户
前往 阿里云官网,如果你还没有阿里云账户,请注册一个。
开通并配置阿里云短信服务
- 使用你的阿里云账户在 阿里云官网 登录,并进入 短信服务控制台页面。
- 在短信服务页面左上角点击“免费开通”按钮,开始配置流程。
- 阅读并同意“短信服务开通条款”,点击“开通服务”继续。
- 现在你已进入 短信服务控制台页面,根据你的使用场景,点击侧边栏的“国内消息”或“国际/港澳台消息”按钮。
- 按照指引添加签名和模板,并提供所需的材料或信息进行审核。
- 填写签名申请时,记得选择“适用场景”为“验证码”,申请模板审核时“模板类型”也选择“验证码”,因为我们使用这些签名和模板来发送验证码。目前我们不支持发送除验证码相关内容以外的短信。
- 在模板内容中,使用
{{code}}
作为你希望放置数字验证码的位置占位符。
- 提交短信签名和模板申请后,需要等待其生效。此时可以返回 短信服务控制台页面 发送测试短信。如果你的签名和模板已生效,可以直接测试;如果尚未生效,阿里云也提供测试模板。
- 发送测试短信前,可能需要先充值少量金额。
- 发送测试短信前,可能还需要绑定测试手机号。更多详情可在 短信服务控制台页面 侧边栏的“快速学习”标签页查看。
编写连接器 JSON
- 在 短信服务控制台页面 右上角鼠标悬停在头像上,进入“AccessKey 管理”,点击“创建 AccessKey”。完成安全验证后,你将获得一对“AccessKey ID”和“AccessKey Secret”,请妥善保存。
- 进入你刚才访问的“国内消息”或“国际/港澳台消息”标签页,可以很容易找到“签名名称”和“模板 CODE”。
- 如果你想使用仅供测试的签名和模板,请进入“快速学习”标签页,在“签名与模板(仅供测试)”下方可以找到。
- 填写阿里云短信连接器设置:
- 将第 1 步获得的 access key 对填写到
accessKeyId
和accessKeySecret
字段。 - 将第 2 步提到的“签名名称”填写到
signName
字段。所有模板将共用此签名名称。 - 你可以为不同场景添加多个短信连接器模板。以下是添加单个模板的示例:
- 将第 2 步获得的“模板 CODE”填写到
templateCode
字段,用于控制短信内容。 - 根据不同场景,将
usageType
字段填写为Register
、SignIn
、ForgotPassword
或Generic
。(usageType
是 Logto 用于识别具体场景的属性。)为了支持完整的用户流程,建议配置Register
、SignIn
、ForgotPassword
和Generic
类型的模板。
- 将第 2 步获得的“模板 CODE”填写到
- 将第 1 步获得的 access key 对填写到
- 设置“严格手机号区号检查”:
- 如果你需要向海外手机号(如美国、香港等非中国大陆地区)发送短信,请启用此选项。启用后,连接器会假设所有手机号都包含有效区号(如 +1、+852),以判断是否属于中国大陆。
- 注意:如果你的现有用户手机号没有区号,启用此选项可能会影响他们的登录流程。仅在需要发送海外短信时启用。
测试阿里云短信连接器
你可以输入手机号并点击“发送”,在“保存并完成”前测试设置是否可用。
就是这样。别忘了在登录体验中启用连接器。
配置类型
名称 | 类型 |
---|---|
accessKeyId | string |
accessKeySecret | string |
signName | string |
templates | Template[] |
模板属性 | 类型 | 枚举值 |
---|---|---|
templateCode | string | N/A |
usageType | enum string | 'Register' / 'SignIn' / 'ForgotPassword' / 'Generic' |