特点
CabloyJS内置了短信认证模块a-authsms
,可以实现手机短信认证
的功能。主要有以下特性:
- 提炼出通用的
手机短信验证
机制,可以通过提供者
的方式快速对接各类短信服务提供商 - 通过
手机短信验证
实现用户注册
、用户登录
、用户认证
等功能 - 内置
短信服务提供者
- 测试版本:不需要开通实际的短信服务,即可进行开发调试
- 阿里云:只需填写参数即可快速对接部署阿里云短信服务
- 持续增加对第三方服务的支持
截图
1. 用户注册
2. 用户登录
3. Kitchen-sink - 短信认证
4. Kitchen-sink - 测试短信服务提供者
如何使用
1. 配置短信认证
默认情况下,模块提供的短信认证
会自动启用,可通过以下途径调整次序
或禁用
1.1 调整次序
比如,我们现在有两个用户认证方式:a-authsimple/a-authsms
,显示效果如下:
我们希望a-authsms
优先显示,那么只需修改项目的配置文件:
src/backend/config/config.local.js
// module config
config.modules = {
...
'a-login': {
providers: [
{
module: 'a-authsms',
provider: 'authsms',
},
{
module: 'a-authsimple',
provider: 'authsimple',
},
],
},
...
};
1.2 禁用
如果我们想禁用a-authsimple
,那么只需设置disable: true
,如下:
// module config
config.modules = {
...
'a-login': {
providers: [
{
module: 'a-authsms',
provider: 'authsms',
},
{
disable: true,
module: 'a-authsimple',
provider: 'authsimple',
},
],
},
...
};
最终显示效果如下:
2. 配置短信服务提供者
2.1 测试短信服务提供者
默认情况下,使用内置的测试短信服务提供者
,当用户输入手机号码
,点击发送认证码
按钮时,会自动在控制台打印一个随机的认证码,从而方便开发调试,效果如下:
2.2 阿里云短信服务提供者
模块还内置了阿里云短信服务提供者
,只需修改项目的配置文件即可激活:
// module config
config.modules = {
...
'a-authsms': {
sms: {
provider: {
// default: '',
default: 'aliyun',
},
providers: {
aliyun: {
accessKeyId: 'LTAIVnmixsvYC4cdF',
secretAccessKey: 'V5F7Ke7w8QgZVpcvbYcHq32FKwt2ew',
endpoint: 'https://dysmsapi.aliyuncs.com',
apiVersion: '2017-05-25',
signName: 'Cabloy商店',
templates: {
mobileVerify: 'SMS_152015055',
signup: 'SMS_152015055',
signin: 'SMS_152015055',
},
},
},
},
},
};
...
signName
和templates
是与阿里云短信服务提供者
相关的参数,具体数据请参照阿里云的提示获取
mobileVerify
、signup
和signin
是预定义的场景,可以针对不同的场景指定单独的消息模板
评论: