Java 1.8+
Maven3.3.9+
参考“Redis安装指南”
使用git从远程下载验证码服务代码(开源)。
使用idea打开上一步下载的sailing目录,下图是sailing在idea的工程结构。
git clone https://gitee.com/qawine_base/sailing.git
本服务中的短信发送使用了腾讯云短信服务,生产环境需要注册腾讯云开通短信服务:
开通腾讯云短信服务
https://cloud.tencent.com/product/isms/getting-started
配置短信参数
sms:
qcloud:
appId: 14000000
appKey: 36ff7sd14d0d2342344cdf335cc25052
templateId: 234323
sign: 签名
appId:上边第1步开通短信服务成功后获取SDKAppID
appKey:上边第1步开通短信服务成功后获取AppKey
sign:上边第2步申请签名
templateId:上边第3步申请模板
如果暂时没有申请到腾讯云短信服务,可以临时将验证码输出到控制台。
修改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;
}
参数名 | 参数类型 | 描述 |
---|---|---|
name | string(query) | 业务名称(使用何种方式的验证码,可选的有sms, img, mail等) |
payload | application/json | 业务携带参数,如手机号 、邮箱 |
effectiveTime | string(query) | 验证信息有效期(秒) |
参数说明:
name: 业务名称,短信的业务名称为"sms"。
payload:发送短信时这里要填写mobile,json格式。
发送验证码成功,可通过手机查看,如果在开发阶段可 在控制台查看验证码:
INFO [http‐nio‐56085‐exec‐1][QCloudSmsService.java:37] ‐ 给手机号xxxxxxxxxxxx发送验证码:xxxx
接口说明:http://localhost:56085/sailing/swagger-ui.html#/verification-controller/verifyUsingPOST
参数名 | 参数类型 | 描述 |
---|---|---|
name | string(query) | 业务名称(使用何种方式的验证码,可选的有sms, img, mail等) |
verificationCode | string(query) | 验证码 |
verificationKey | string(query) | 验证key |
点击’Try it out’, 填写验证码和验证key进行测试
查看校验结果:返回true则为校验通过
-utoBcBof-1703516253957)]
点击’Try it out’, 填写验证码和验证key进行测试
[外链图片转存中…(img-OTcfEEOu-1703516253961)]
查看校验结果:返回true则为校验通过