短信验证码服务使用指南
1 部署短信验证码服务
1.1 基础环境
Java 1.8+
1.2 安装Redis
该服务使用Redis存储生成的短信验证码信息,所以需要先在本机安装Redis(请确认6379端口未被占用) 启动Redis
注意:为了使用方便,这里把redis的验证密码取消了,请确保redis配置中的requirepass是注释状态
1.3 部署短信验证码服务
本服务是传智播客基于腾讯云实现的一个开源项目sailing,发送短信验证码的功能已经实现,大家直接运行脚本即可使用,无需进行其他操作,该服务会占用56085端口。
1. 运行runSms.bat会启动sailing.jar,该服务会把短信验证码发送到手机上(有使用次数限制,建议用于体验)
2. 运行runSms-student.bat会启动sailing-student.jar,该服务会把短信验证码发送到控制台上,不会发到手机上(没有使用次数限制,建议开发过程中使用)
对源码感兴趣,请自行去github上下载:
git clone https://github.com/fightingape/sailing.git
2 接入短信验证码服务
由于统一账户服务(wanxinp2p-account-service)需要使用短信验证码功能,因此需要使用sailing服务,接入很方便,只需在Apollo上进行相关配置即可。
-
登录Apollo,找到account-service项目
-
展开application配置项
-
增加验证码服务参数:
properties #短信验证码服务地址 sms.url = http://localhost:56085/sailing/ #开启短信验证码功能 sms.enable = true
-
运行runSms.bat启动sailing.jar(短信验证码服务)
-
启动wanxinp2p-account-service,即可正常获取验证码
注意:在后续开发过程中,每次都需要启动sailing.jar。如果嫌麻烦,可以把短信验证码功能关掉(sms.enable=false),此时会开启密码登录模式(登录密码就是验证码),直接使用手机号作为验证码即可登录,因为在注册功能中,默认会把手机号作为登录密码保存到数据库中
3 API接口
3.1 发送并获取短信验证码
访问路径:http://localhost:56085/sailing / generate?effectiveTime=300&name=sms
JSON参数:{“mobile”:"15378791911 "}
3.2 校验短信验证码
访问路径:http://localhost:56085/sailing / verify?name=sms & verificationKey=xxx & verificationCode=xxx
verificationKey表示校验标识,verificationCode标识验证码