验证码登录(扩展)
安装
方法1: 使用npm:
npm install --save @cloudbase/extension-sms
方法2: 使用CDN
<script src="//unpkg.com/@cloudbase/extension-sms/built/index.umd.js"></script>
Usage
const extSms = require('@cloudbase/extension-sms')
tcb.init({
env:'xxx',
});
tcb.registerExtension(extSms)
const res = await tcb.invokeExtension('CloudInfinite',opts)
opts 包含以下属性
| action | String | 是 | 操作类型,支持 Send, Login, Verify |
| phone | String | 是 | 电话号码 |
| app | Tcb | 是 | tcb实例 |
| smsCode | String | 否 | 短信验证码,action 为 Login 或 Verify 时需要传入 |
| customDomain | String | 否 | HTTP触发的自定义域名 |
action目前包含以下类型
- Send: 发送短信验证码
- Verify: 校验短信验证码
- Login: 短信验证码登录
功能说明
发送短信验证码
const app = tcb.init({
env: '您的环境ID'
});
const opts = {
action: 'Send',
app,
phone: ''
};
try {
await tcb.invokeExtension(extSms.name, opts);
console.log('短信验证码发送成功')
} catch (error) {
console.log('短信验证码发送失败:', error.message)
}
注意:前往短信服务(SMS),调整短信发送频率配置
校验短信验证码
const app = tcb.init({
env: '您的环境ID'
});
const opts = {
action: 'Verify',
app,
phone: '',
smsCode: '',
};
try {
await tcb.invokeExtension(extSms.name, opts);
console.log('短信验证码校验成功')
} catch (error) {
console.log('短信验证码校验失败', error.message)
}
短信验证码登录
const app = tcb.init({
env: '您的环境ID'
});
const opts = {
action: 'Login',
app,
phone: '',
smsCode: '',
}
try {
await tcb.invokeExtension(extSms.name, opts);
console.log('短信验证码登录成功')
} catch (error) {
console.log('登录失败:', error.message)
}
注意:登录成功后,验证码自动失效。