特点
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
- 1 // module config
- 2 config.modules = {
- 3 ...
- 4 'a-auth': {
- 5 login:{
- 6 providers: [
- 7 {
- 8 module: 'a-authsms',
- 9 provider: 'authsms',
- 10 },
- 11 {
- 12 module: 'a-authsimple',
- 13 provider: 'authsimple',
- 14 },
- 15 ],
- 16 },
- 17 },
- 18 ...
- 19 };
1.2 禁用
如果我们想禁用a-authsimple
,参见:认证基本概念
1.3 最终显示效果
2. 配置短信服务提供者
2.1 测试短信服务提供者
默认情况下,使用内置的测试短信服务提供者
,当用户输入手机号码
,点击发送认证码
按钮时,会自动在控制台打印一个随机的认证码,从而方便开发调试,效果如下:
2.2 阿里云短信服务提供者
模块还内置了阿里云短信服务提供者
,只需修改项目的配置文件即可激活:
- 1 // module config
- 2 config.modules = {
- 3 ...
- 4 'a-authsms': {
- 5 sms: {
- 6 providers: {
- 7 aliyun: {
- 8 title: 'AliYun',
- 9 current: true,
- 10 accessKeyId: 'LTAIVnmixsvYC4cdF',
- 11 secretAccessKey: 'V5F7Ke7w8QgZVpcvbYcHq32FKwt2ew',
- 12 endpoint: 'https://dysmsapi.aliyuncs.com',
- 13 apiVersion: '2017-05-25',
- 14 signName: 'Cabloy商店',
- 15 templates: {
- 16 mobileVerify: 'SMS_152015055',
- 17 signup: 'SMS_152015055',
- 18 signin: 'SMS_152015055',
- 19 },
- 20 },
- 21 test: {
- 22 title: 'Test',
- 23 current: false,
- 24 },
- 25 },
- 26 },
- 27 },
- 28 };
- 29 ...
signName
和templates
是与阿里云短信服务提供者
相关的参数,具体数据请参照阿里云的提示获取
mobileVerify
、signup
和signin
是预定义的场景,可以针对不同的场景指定单独的消息模板
评论: