验证码服务使用指南

部署验证码服务

基础环境
  • Java 1.8+
  • Maven3.3.9+
安装Redis

参考 Redis安装指南

部署验证码服务
下载源码

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

git clone https://github.com/fightingape/sailing.git
使用idea打开项目

使用idea打开上一步下载的sailing目录,下图是sailing在idea的工程结构。
在这里插入图片描述

开通腾讯云短信服务

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

开通腾讯云短信服务

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

  1. 开通短信服务成功后,获取 SDKAppID 和 AppKey
    云短信应用 SDKAppID 和 AppKey 可在 短信控制台 的应用信息里获取。如您尚未添加应用,请登录 短信控制台 添加应用。
  2. 申请签名并确认审核通过
    一个完整的短信由短信签名和短信正文内容两部分组成,短信签名需申请和审核,签名可在 短信控制台的相应服务模块【内容配置】中进行申请,详细申请操作请参见 创建签名。发送国际短信时,允许不携带签名。
  3. 申请模板并确认审核通过
    短信或语音正文内容模板需申请和审核,模板可在 短信控制台 的相应服务模块【内容配置】中进行申请,详细申请操作请参见 创建正文模板
配置短信参数
  1. 打开项目中sailing/src/main/resources/application.yml
  2. 将腾讯云短信服务获取到参数做如下配置:
sms:
  qcloud:
    appId: 14000000
    appKey: 36ff7sd14d0d2342344cdf335cc25052
    templateId: 234323
    sign: 签名
  • appId :上边第1步开通短信服务成功后获取SDKAppID

  • appKey :上边第1步开通短信服务成功后获取AppKey

  • sign :上边第2步申请签名

  • templateId :上边第3步申请模板

控制台获取验证码

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

修改sailing/src/main/java/cn/itcast/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;
}
启动服务

在这里插入图片描述

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

使用验证码服务

发送验证码

1、接口说明:http://localhost:56085/sailing/swagger-ui.html

参数列表如下:
在这里插入图片描述
在这里插入图片描述
2、点击’Try it out’, 填写参数进行测试
在这里插入图片描述
参数说明:

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

3、查看返回的此次验证key:校验验证码时需要携带验证key和用户输入的验证码
在这里插入图片描述
发送验证码成功,可通过手机查看,如果在开发阶段可 在控制台查看验证码:

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

1、接口说明:http://localhost:56085/sailing/swagger-ui.html#/verification-controller/verifyUsingPOST
在这里插入图片描述
在这里插入图片描述
2、点击’Try it out’, 填写验证码和验证key进行测试
在这里插入图片描述

  • name:业务名称,短信的业务名称为"sms"。
  • verificationCode:验证码,手机接收的验证码,如果在开发阶段通过控制台查看验证码,可在控制台中查看验证码。
  • verificationKey:发送验证码接口响应的内容,如下:

在这里插入图片描述
3、查看校验结果:返回true则为校验通过
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44950987/article/details/107723243