当前位置: 首页 > news >正文

验证码服务使用指南

验证码服务使用指南

1 部署验证码服务

1.1 基础环境

Java 1.8+

Maven3.3.9+

1.2 安装Redis

参考“Redis安装指南”

1.3 部署验证码服务

1.3.1 下载源码

使用git从远程下载验证码服务代码(开源)。

1.3.2 使用idea打开项目

使用idea打开上一步下载的sailing目录,下图是sailing在idea的工程结构。

git clone https://gitee.com/qawine_base/sailing.git

在这里插入图片描述

1.3.3 开通腾讯云短信服务

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

  1. 开通腾讯云短信服务
    https://cloud.tencent.com/product/isms/getting-started

    • 开通短信服务成功后,获取 SDKAppID 和 AppKey
      云短信应用 SDKAppID 和 AppKey 可在 短信控制台 的应用信息里获取。如您尚未添加应用,请登录 短信控制台 添加应用。
    • 申请签名并确认审核通过
      一个完整的短信由短信签名和短信正文内容两部分组成,短信签名需申请和审核,签名可在 短信控制台的相
      应服务模块【内容配置】中进行申请,详细申请操作请参见 创建签名。发送国际短信时,允许不携带签名。
    • 申请模板并确认审核通过
      短信或语音正文内容模板需申请和审核,模板可在 短信控制台 的相应服务模块【内容配置】中进行申请,详细申请操作请参见 创建正文模板。
  2. 配置短信参数

    • 打开项目中sailing/src/main/resources/application.yml
    • 将腾讯云短信服务获取到参数做如下配置:
    sms:qcloud:appId: 14000000appKey: 36ff7sd14d0d2342344cdf335cc25052templateId: 234323sign: 签名
    

    appId:上边第1步开通短信服务成功后获取SDKAppID
    appKey:上边第1步开通短信服务成功后获取AppKey
    sign:上边第2步申请签名
    templateId:上边第3步申请模板

1.3.4 控制台获取验证码

如果暂时没有申请到腾讯云短信服务,可以临时将验证码输出到控制台。
修改sailing/src/main/java/com/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.5 启动服务

在这里插入图片描述

2 使用验证码服务

2.1 发送验证码

参数名参数类型描述
namestring(query)业务名称(使用何种方式的验证码,可选的有sms, img, mail等)
payloadapplication/json业务携带参数,如手机号 、邮箱
effectiveTimestring(query)验证信息有效期(秒)

在这里插入图片描述

  1. 点击’Try it out’, 填写参数进行测试

在这里插入图片描述

参数说明:
name: 业务名称,短信的业务名称为"sms"。
payload:发送短信时这里要填写mobile,json格式。

  1. 查看返回的此次验证key:校验验证码时需要携带验证key和用户输入的验证码

发送验证码成功,可通过手机查看,如果在开发阶段可 在控制台查看验证码:

INFO [http‐nio‐56085‐exec‐1][QCloudSmsService.java:37] ‐ 给手机号xxxxxxxxxxxx发送验证码:xxxx

2.2 校验验证码

  1. 接口说明:http://localhost:56085/sailing/swagger-ui.html#/verification-controller/verifyUsingPOST

    参数名参数类型描述
    namestring(query)业务名称(使用何种方式的验证码,可选的有sms, img, mail等)
    verificationCodestring(query)验证码
    verificationKeystring(query)验证key

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 点击’Try it out’, 填写验证码和验证key进行测试

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 查看校验结果:返回true则为校验通过

-utoBcBof-1703516253957)]

  1. 点击’Try it out’, 填写验证码和验证key进行测试

    [外链图片转存中…(img-OTcfEEOu-1703516253961)]

  2. 查看校验结果:返回true则为校验通过

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

http://www.lryc.cn/news/267114.html

相关文章:

  • js中Math.min(...arr)和Math.max(...arr)的注意点
  • 【zookeeper特点和集群架构】
  • MySQL集群架构搭建以及多数据源管理实战
  • C# WPF上位机开发(从demo编写到项目开发)
  • 微信小程序引入 vant组件(详细步骤)
  • Django之按钮(actions)
  • 从YOLOv1到YOLOv8的YOLO系列最新综述【2023年4月】
  • 浙江大唐乌沙山电厂选择ZStack Cloud打造新一代云基础设施
  • 电脑开机快捷启动,启动菜单没有u盘怎么办
  • 线程的同步与互斥
  • 低代码实施复杂应用的实践方法
  • 算法学习系列(十一):KMP算法
  • ****Linux下Mysql的安装和配置
  • 第十六节TypeScript 类
  • RocketMQ的Docker镜像部署(以及Dashboard的部署、ACL配置)
  • 数据仓库【2】:架构
  • JavaScript函数表达式
  • LabVIEW在齿轮箱故障诊断中的应用
  • 图片转excel:“保留数字格式”在什么场景下该勾
  • SpringMVC:整合 SSM 下篇
  • [2023-年度总结]凡是过往,皆为序章
  • OpenCV之像素操作
  • Transfer Learning(迁移学习)
  • NPM 的使用技巧:简化 JavaScript 开发和依赖管理
  • 统计和绘图软件GraphPad Prism mac功能特点
  • WWW 指南-万维网联盟(World Wide Web)
  • Linux网络编程之TCP/IP实现高并发网络服务器设计指南
  • 【SpringBoot实战】基于阿里云实现文件上传
  • 大数据技术学习笔记(十一)—— Flume
  • 电路设计时,继电器线圈、风扇电机绕组等感性负载必须有续流二极管。