验证码服务使用指南
1 部署验证码服务
1.1 基础环境
Java 1.8+
Maven3.3.9+
1.2 安装Redis
参考“Redis安装指南”
安装服务:
redis-server.exe --service-install redis.windows.conf --loglevel verbose
开启服务
redis-server --service-start
卸载服务
redis-server --service-uninstall
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 开通腾讯云短信服务
本服务中的短信发送使用了腾讯云短信服务,生产环境需要注册腾讯云开通短信服务:
- 开通腾讯云短信服务 https://cloud.tencent.com/product/isms/getting-started
- 开通短信服务成功后,获取 SDKAppID 和 AppKey 云短信应用 SDKAppID 和 AppKey 可在 短信控制台 的应用信息里获取。如您尚未添加应用,请登录 短信控 制台 添加应用。
- 申请签名并确认审核通过 一个完整的短信由短信签名和短信正文内容两部分组成,短信签名需申请和审核,签名可在 短信控制台的相 应服务模块【内容配置】中进行申请,详细申请操作请参见 创建签名。发送国际短信时,允许不携带签名。
- 申请模板并确认审核通过 短信或语音正文内容模板需申请和审核,模板可在 短信控制台 的相应服务模块【内容配置】中进行申请,详 细申请操作请参见 创建正文模板。
- 配置短信参数
- 打开项目中sailing/src/main/resources/application.yml
- 将腾讯云短信服务获取到参数做如下配置:
sms:
qcloud:
appId: 14000000
appKey: 36ff7sd14d0d2342344cdf335cc25052
templateId: 234323
sign: 签名
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;
}