云和教育:云和数据集团旗下高端ICT职业教育品牌
  • 国家级全民数字素养与技能培训基地
  • 河南省第一批产教融合型企业建设培育单位
  • 郑州市数字技能人才(码农)培养评价联盟
当前位置: 首页学习资料JAVA

短信验证码入门使用

  • 作者:云和教育
  • 日期:2022-01-17
  • 浏览:1,081次

 

验证码服务使用指南

u=2534300283,2975417650&fm=253&fmt=auto&app=138&f=JPEG.webp.jpg

1  部署验证码服务

1.1  基础环境

 Java 1.8+

1.2 安装Redis

验证码服务使用了Redis存储生成的信息,所以需要先安装Redis确认6379端口未被占用

1. https://github.com/microsoftarchive/redis/releases/download/win-3.2.100/Redis-x64-

3.2.100.zip

2. 解压安装,将下载的Redis-x64-3.2.100.zip 解压到某个地址

3. 启动Redis:打开一个cmd窗口,使用cd命令切换到上边的解压目录

cd C:\work\Redis-x64-3.2.100

redis-server.exe redis.windows.conf

4. 测试:再打开一个cmd窗口,启动Redis客户端

cd C:\work\Redis-x64-3.2.100

redis-cli.exe -h 127.0.0.1 -p 6379

设置键值对:

set key abc

取出键值对:

get key

1.3  部署验证码服务

1.3.1 下载源码

git clone https://github.com/fightingape/sailing.git

1.3.2 使用idea打开项目

1.3.3 注册腾讯云短信服务

本服务中的短信发送使用了腾讯云短信服务,需要注册腾讯云开通短信服务:

https://cloud.tencent.com/product/isms/getting-started


 

1.  SDKAppID  AppKey**

短信控制台  短信控

制台

2. 申请签名并确认审核通过

一个完整的短信由短信签名短信正文内容两部分组成,短信签名可在 短信控制台的相

应服务模块【内容配置】中进行申请,详细申请操作请参见 创建签名。发送国际短信时,允许不携带签名。

3. 申请模板并确认审核通过

短信或语音正文内容模板可在 短信控制台  的相应服务模块【内容配置】中进行申请,详

细申请操作请参见 创建正文模板

1.3.4 配置短信参数

1. 打开项目中sailing/src/main/resources/application.yml

2. 将腾讯云短信服务获取到参数做如下配置:

sms:

  qcloud:

    appId: 14000000

    appKey: 36ff7sd14d0d2342344cdf335cc25052

    templateId: 234323

    sign: 签名

1.3.5 控制台获取验证码

如果暂时没有申请到腾讯云短信服务,可以临时将验证码输出到控制台。

修改sailing/src/main/java/cn/yh/sailing/handler/SmsNumberVerificationHandler.java

    @Override

    String confusion(Map<String, Object> payload, String key, String code) {

        String mobile = String.valueOf(payload.get("mobile"));

        // 使用腾讯云发送短信

        //smsService.send(mobile, code, getEffectiveTime());

        // 测试使用,在控制台输出验证码

        smsService.sendOnConsole(mobile, code, getEffectiveTime());

        return null;

    }

1.3.6 启动服务

Tomcat started on port(s): 56085 (http) with context path '/sailing'

Started SailingBootstrap in 3.224 seconds (JVM running for 4.01)

Completed initialization in 7 ms

在控制台查看验证码:

INFO [http-nio-56085-exec-1][QCloudSmsService.java:37] – 给手机号17717815555发送验证码:575184