跳到主要内容

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

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 对填写到 accessKeyIdaccessKeySecret 字段。
    • 将第 2 步提到的“签名名称”填写到 signName 字段。所有模板将共用此签名名称。
    • 你可以为不同场景添加多个短信连接器模板。以下是添加单个模板的示例:
      • 将第 2 步获得的“模板 CODE”填写到 templateCode 字段,用于控制短信内容。
      • 根据不同场景,将 usageType 字段填写为 RegisterSignInForgotPasswordGeneric。(usageType 是 Logto 用于识别具体场景的属性。)为了支持完整的用户流程,建议配置 RegisterSignInForgotPasswordGeneric 类型的模板。
  4. 设置“严格手机号区号检查”:
    • 如果你需要向海外手机号(如美国、香港等非中国大陆地区)发送短信,请启用此选项。启用后,连接器会假设所有手机号都包含有效区号(如 +1、+852),以判断是否属于中国大陆。
    • 注意:如果你的现有用户手机号没有区号,启用此选项可能会影响他们的登录流程。仅在需要发送海外短信时启用。

测试阿里云短信连接器

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

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

配置类型

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

参考资料

阿里云短信 - 快速入门