跳到主要内容

使用阿里云短信服务设置短信验证

Logto 官方提供的阿里云短信服务连接器。

提示:

本指南假设你对 Logto 连接器 (Connectors) 有基本的了解。对于不熟悉的人,请参考 连接器 (Connectors) 指南以开始了解。

开始使用​

阿里云是亚洲主要的云服务提供商,提供多种云服务,包括短信(SMS,短消息服务)。阿里云短信连接器是 Logto 团队提供的插件,用于调用阿里云短信服务,借助该插件,Logto 终端用户可以通过短信验证码注册和登录他们的 Logto 账户。

在阿里云短信控制台设置短信服务​

创建阿里云账户​

前往 阿里云官网,如果你还没有阿里云账户,请注册一个。

开通并配置阿里云短信服务​

  1. 使用你的阿里云账户在 阿里云官网 登录,并进入 短信服务控制台页面。
  2. 在短信服务页面左上角点击“免费开通”按钮,开始配置流程。
  3. 阅读并同意“短信服务开通条款”,点击“开通服务”继续。
  4. 现在你已进入 短信服务控制台页面,根据你的使用场景,点击侧边栏的“国内消息”或“国际/港澳台消息”按钮。
  5. 按照指引添加签名和模板,并提供所需的材料或信息进行审核。
    • 填写签名申请时,记得选择“适用场景”为“验证码”,申请模板审核时“模板类型”也选择“验证码”,因为我们使用这些签名和模板来发送验证码。目前我们不支持发送除验证码相关内容以外的短信。
    • 在模板内容中,使用 {{code}} 作为你希望放置数字验证码的位置占位符。
  6. 提交短信签名和模板申请后,需要等待其生效。此时可以返回 短信服务控制台页面 发送测试短信。如果你的签名和模板已生效,可以直接测试;如果尚未生效,阿里云也提供测试模板。
    • 发送测试短信前,可能需要先充值少量金额。
    • 发送测试短信前,可能还需要绑定测试手机号。更多详情可在 短信服务控制台页面 侧边栏的“快速学习”标签页查看。

编写连接器 JSON​

  1. 在 短信服务控制台页面 右上角鼠标悬停在头像上,进入“AccessKey 管理”,点击“创建 AccessKey”。完成安全验证后,你将获得一对“AccessKey ID”和“AccessKey Secret”,请妥善保存。
  2. 进入你刚才访问的“国内消息”或“国际/港澳台消息”标签页,可以很容易找到“签名名称”和“模板 CODE”。
    • 如果你想使用仅供测试的签名和模板,请进入“快速学习”标签页,在“签名与模板(仅供测试)”下方可以找到。
  3. 填写阿里云短信连接器设置:
    • 将第 1 步获得的 access key 对填写到 accessKeyId 和 accessKeySecret 字段。
    • 将第 2 步提到的“签名名称”填写到 signName 字段。所有模板将共用此签名名称。
    • 你可以为不同场景添加多个短信连接器模板。以下是添加单个模板的示例:
      • 将第 2 步获得的“模板 CODE”填写到 templateCode 字段,用于控制短信内容。
      • 根据不同场景,将 usageType 字段填写为 Register、SignIn、ForgotPassword 或 Generic。(usageType 是 Logto 用于识别具体场景的属性。)为了支持完整的用户流程,建议配置 Register、SignIn、ForgotPassword 和 Generic 类型的模板。
  4. 设置“严格手机号区号检查”:
    • 如果你需要向海外手机号(如美国、香港等非中国大陆地区)发送短信,请启用此选项。启用后,连接器会假设所有手机号都包含有效区号(如 +1、+852),以判断是否属于中国大陆。
    • 注意:如果你的现有用户手机号没有区号,启用此选项可能会影响他们的登录流程。仅在需要发送海外短信时启用。

测试阿里云短信连接器​

你可以输入手机号并点击“发送”,在“保存并完成”前测试设置是否可用。

就是这样。别忘了在登录体验中启用连接器。

配置类型​

名称类型
accessKeyIdstring
accessKeySecretstring
signNamestring
templatesTemplate[]
模板属性类型枚举值
templateCodestringN/A
usageTypeenum string'Register' / 'SignIn' / 'ForgotPassword' / 'Generic'

参考资料​

阿里云短信 - 快速入门