关于a-authsms

使用此模块可以实现手机短信验证的功能。主要有以下特性:

  1. 通用的手机短信验证机制
  2. 通过手机短信验证实现用户注册用户登录等功能
  3. 通用的手机短信服务提供者接口,快速对接各类短信服务提供商
  4. 内置短信服务提供者
    • 测试版本:不需要开通实际的短信服务,即可进行开发调试
    • 阿里云:只需填写参数即可快速对接部署阿里云短信服务
    • 持续增加对第三方服务的支持

截图

用户注册

1

用户登录

2

Kitchen-sink - 短信认证

3

Kitchen-sink - 测试短信服务提供者

4

如何使用

1. 安装模块

  1. 从Cabloy商店下载模块源码a-authsms.zip
  2. 在项目所在目录,创建子目录modules
  3. 将下载的模块解压缩,并放入目录modules
  4. 在命令行执行npm link
cd /path/to/project
mkdir ./modules
unzip ~/Downloads/a-authsms.zip -d ./modules
sudo npm link ./modules/a-authsms

2. 配置短信认证

默认情况下,模块提供的短信认证会自动启用,可通过以下途径调整次序或禁用

2.1 调整次序

比如,我们现在有两个用户认证方式:a-authsimple/a-authsms,显示效果如下:

5

我们希望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',
        },
      ],
    },
    ...
  };

2.2 禁用

如果我们想禁用a-authsimple,那么只需设置disable: true,如下:

  // module config
  config.modules = {
    ...
    'a-login': {
      providers: [
        {
          module: 'a-authsms',
          provider: 'authsms',
        },
        {
          disable: true,
          module: 'a-authsimple',
          provider: 'authsimple',
        },
      ],
    },
    ...
  };

最终显示效果如下:

6

3. 配置短信服务提供者

3.1 测试短信服务提供者

默认情况下,使用内置的测试短信服务提供者,当用户输入手机号码,点击发送认证码按钮时,会自动在控制台打印一个随机的认证码,从而方便开发调试,效果如下:

7

3.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',
            },
          },
        },
      },
    },
  };
  ...

signNametemplates是与阿里云短信服务提供者相关的参数,具体数据请参照阿里云的提示获取

mobileVerifysignupsignin是预定义的场景,可以针对不同的场景指定单独的消息模板

为何要购买此模块

  1. 包含此模块的所有源代码。从中可以学习到:

    1. 即插即用的实战模块,可立即用于实际业务项目中
    2. 如何通过通用的身份认证框架开发一个认证提供者
    3. 如何通过验证码通用框架开发一个验证码提供者
    4. 如何对后端NodeJS代码进行丑化打包,从而保护商业代码,参见文章:CabloyJS全栈开发之旅(1):NodeJS后端编译打包全攻略
  2. 希望通过购买模式与您一同探索与体验Cabloy商店免费模块增值模块相互促进、共同繁荣之路

  3. 邀请您也加入Cabloy商店生态,一同成长,在繁荣生态、奉献社区的同时,也能获得自己的收益与回报

  4. 邀请您加入VIP微信群,更及时的反馈,更深入的交流,结识更多志同道合的朋友