发送短信、邮箱验证码
POST/auth/v1/verification
接口说明
发送短信或邮箱验证码接口,用于向用户的手机号或邮箱发送验证码,支持登录、注册、找回密码等多种场景。
本接口支持两种模式:
- 验证码模式(默认):发送6位数字验证码到用户手机或邮箱,用户需手动输入 验证码完成验证。
- Magic Link 模式:当请求体中传入
email_redirect_to参数时启用,仅支持邮箱(email参数),不支持手机号。此时邮件正文由邮箱身份源的邮件模板渲染,服务端会把本次生成的一次性登录链接注入模板变量{{.ConfirmationURL}},用户点击该链接即可完成登录/注册并跳转到email_redirect_to指定的页面。因此该模式必须配合包含{{.ConfirmationURL}}变量的邮件模板使用,详见 Magic Link 邮件模板配置。
入参要求
必需参数
target: 发送验证码的目标(必填,可选值:ANY、USER)ANY: 不限制,无论用户是否存在都发送USER: 账号必须在系统中存在才发送
可选参数(二选一)
phone_number: 手机号(可选,有效的国内手机号,需加上"+86 "前缀,如"+86 15588665555")email: 邮箱(可选,有效的邮箱地址,格式如abc@example)
Magic Link 专用参数
email_redirect_to: 跳转URL(可选,string 类型)。登录成功后跳转的目标页面地址。传入此参数即触发 Magic Link 模式,邮件内容从验证码文本变为由邮件模板渲染的登录链接邮件。- 必须传入完整 URL,如
https://envId-appid.tcloudbaseapp.com/dashboard - 仅在传入
email参数时生效,不支持与phone_number搭配使用 - 传入后服务端会渲染邮件模板中的
{{.ConfirmationURL}}变量,模板中未包含该变量时,用户收到的邮件里不会出现登录链接
- 必须传入完整 URL,如
请求头参数
x-captcha-token: 验证码token(可选,从验证图片验证码接口获取,接口报错captcha_required时需传入)
前置条件
- 需要在云开发平台开启手机号或邮箱登录功能
- 手机号和邮箱不能同时传入,只能选择其一
- 当接口返回captcha_required错误时,需要先完成图片验证码验证
- Magic Link 模式额外要求:
- 邮箱身份源的邮件模板中必须包含
{{.ConfirmationURL}}变量,否则邮件中不会出现登录链接,详见 Magic Link 邮件模板配置 email_redirect_to中的域名需为已配置的自定义域名或 CloudBase 默认域名,否则用户点击链接后可能返回404
- 邮箱身份源的邮件模板中必须包含
Magic Link 邮件模板配置
Magic Link 模式不会发送固定格式的邮件,而是复用邮箱身份源的邮件模板:服务端渲染模板时,会把本次生成的一次性登录链接写入模板变量 {{.ConfirmationURL}}。因此使用 Magic Link 前需先完成模板配置。
模板变量
| 变量 | 适用模式 | 说明 |
|---|---|---|
{{.ConfirmationURL}} | Magic Link 模式 | 一次性登录链接。用户点击后由云开发认证服务完成校验,并跳转到 email_redirect_to 指定的页面 |
{{.VerificationCode}} | 验证码模式 | 6 位数字验证码 |
{{.Email}} | 两种模式 | 收件人邮箱 |
{{.ExpireMinutes}} | 两种模式 | 有效期,单位为分钟 |
{{.Usage}} | 两种模式 | 用途说明 |