超详细的阿里云短信验证码服务接入流程(最新版)——包含工具类可直接使用(java)
一、使用步骤
1、申请阿里云账号并认证
链接地址:https://www.aliyun.com/product/sms
2、创建一个新的AccessKeys 包含AccessKey ID 和Access Key Secret 记得截图保存 (最重要的一步)
3、新建签名和短信模板
因为阿里照顾到开发人员使用短信服务 所以可以 选择通用场景 不需要上传材料!
模板选择 注:个人用户只能选择验证码 其他无法通过申请
项目配置AccessKey ID 和Access Key Secret
AccessKey配置类
@Configuration
@PropertySource(value="classpath:application.yml")
public class SmsConfig {public static String accessKeyID;public static String AccessKeySecret;public String getAccessKeyID() {return accessKeyID;}@Value("${aliyunSms.AccessKeyID}")public void setAccessKeyID(String accessKeyID) {SmsConfig.accessKeyID = accessKeyID;}public String getAccessKeySecret() {return AccessKeySecret;}@Value("${aliyunSms.AccessKeySecret}")public void setAccessKeySecret(String accessKeySecret) {SmsConfig.AccessKeySecret = accessKeySecret;}
}
创建请求工具类 我写了登录和注册请求验证码 这里只放出登录的模板
登录验证码生成请求工具类
public class SmsLoginRequest {public static int code ;private static Log logger= LogFactory.getLog(SmsRegisteRequest.class);public static CommonRequest generateSmsRequest(String phone){//随机生成六位验证码code = (int)((Math.random()*9+1)*100000);CommonRequest request = new CommonRequest();request.setMethod(MethodType.POST);request.setDomain("dysmsapi.aliyuncs.com");request.setVersion("2017-05-25");request.setAction("SendSms");//目前阿里最新的设置请求体的方式 request.putQueryParameter("RegionId", "cn-hangzhou");request.putQueryParameter("PhoneNumbers",phone );request.putQueryParameter("SignName", 签名);request.putQueryParameter("TemplateCode", 模板code);request.putQueryParameter("TemplateParam", "{\"code\":\""+code+"\"}");return request;}
}
最后controller层 短信发送方法
结合了Redis缓存 /*** 发送验证码** @return*/@RequestMapping(value = "/sendSms", method = RequestMethod.POST)@Transactional(rollbackFor = MyException.class)public RetResult<?> sendVerificationCode(@RequestBody UserBO userBO)throws MyException {//短信登录验证SmsUtil.sendLoginSms(userBO.getPhone());int loginCode = SmsLoginRequest.code;//将code存入缓存 并设置过期时间为 1分钟stringRedisTemplate.opsForValue().set(userBO.getPhone(), String.valueOf(loginCode));stringRedisTemplate.expire(userBO.getPhone(), 1, TimeUnit.MINUTES);if (loginCode <= 0) {throw new MyException("验证码发送失败!");}return RetResponse.makeOKRsp("短信验证码已发送,请在1分钟内确认!");}
源码地址: https://github.com/MandalasWang/sms-server
超详细的阿里云短信验证码服务接入流程(最新版)——包含工具类可直接使用(java)相关推荐
- 【Node.js】 调用阿里云短信验证码服务
目录 1.获取必备的参数 ① 获取 AccessKey ② 获取签名名称和短信模板 code 2.写代码 ① 调用sdk ② 生成六位数验证码 ③ 拿到前端传过来的手机号,调用 API 发送短信 ④ ...
- Springboot中使用阿里云短信验证码服务
1.引入阿里云的包 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-s ...
- 阿里云短信验证码服务使用(java ssm为例)
注册并登陆阿里云账号 不知道到网址的点击此处 添加模板 填写签名,选择适用场景为验证码 ps:签名为验证码签名的标签,[阿里云]验证号码为000000,那个阿里云就是签名(适用场景为通用需要填写企业信 ...
- 阿里云短信验证码服务
1.开通服务 短信服务_企业短信营销推广_验证码通知-阿里云 2.申请签名管理和模板管理 3.添加依赖 <dependencies><dependency>< ...
- springboot 使用shiro集成阿里云短信验证码
目录 1.阿里云短信验证码服务 2.发送短信验证码 3.shiro配置多个realm 4.验证短信验证码 5.一些修改思路 引言:短信验证码是通过发送验证码到手机的一种有效的验证码系统,主要用于验证用 ...
- 使用阿里云短信验证码API发送短信验证码(配置,获取短信验证码,注册,登录,密码重置)
获取阿里云短信验证码需要的配置信息. 如果是新用户,可以免费领取3个月,老用户的话就只能购买了,但是也不贵. 申请短信签名 申请短信模板 编写发送短信验证码的工具类 代码中我已经进行了详细的注释,也写 ...
- C# ASP.NET MVC 阿里云短信验证码Demo
相信大家在开发过程中又很多使用到验证码验证的功能,今天将验证码的验证整理一下写了一个Demo 通过本篇后你能学习到: 阿里云短信服务 Drapper连接SQL Server进行增改操作 JS前端倒计时 ...
- 阿里云短信验证服务详细基础教程
阿里云短信验证服务 1. 注册一个阿里云的帐号 2. 在搜索栏搜索短信服务 3. 点击免费开通 4.开通之后点击管理控制台 5. 获取AccessKey 6. 创建AccessKey并保存,后面会用到 ...
- nodejs实现阿里云短信验证码
nodejs实现阿里云短信验证码 事先准备 1.开通阿里云短信服务 2.获取 AccessKey 代码编写 事先准备 1.开通阿里云短信服务 1⃣️登陆阿里云,然后进入到 https://dysms. ...
最新文章
- 小程序音频播放报10001 解决方案 errCode:10001, errMsg:errCode:602,err:error,not found param
- Pytorch+LSTM+AI自动写诗实战
- python自动化--语言基础一数据类型及类型转换
- 职场中一路走来却拂不去一丝失落——一个女IT的告白
- Auto.JS 教程
- flowable6.4.2流程审批后涉及到的表
- DreamFactory 第7章 限制和记录API请求
- 最便宜、最快和最可靠不可兼得
- CTP: 接收心跳超时Bug
- 计算器: 请输入两个数和一个符号,完成两个数的+ - * / % // **
- 浅谈MyBatis持久层框架
- python之微博批量关注,互粉
- Mysql 数据库迁移
- 前端命名规范及常用命名整理
- 多层交换机静态路由实验
- 光子晶体matlab,Matlab光子晶体程序讨论
- 硬纪元干货|视+AR联合创始人涂意:AR将是下一代计算平台
- 分组统计 - 不同时间颗粒度下,按照秒、分、时、日、周、月、季度、年 GROUP BY 分组统计 - (MySQL)
- 百度的网盟推广图片尺寸总结
- 美国的美元霸权·《看懂世界格局的第一本书·2》
热门文章
- 《视搭》一个完整的视频可视化搭建项目
- 游戏倍镜的制作(入门)
- 少儿学编程系列---如何绘制星星会眨眼睛的满天星空
- 方舟服务器在线人数查询软件,Steam游戏该如何保持在线人数?方舟生存进化告诉你答案!...
- 知识图谱这么火,本文带你揭秘它的前世今生!
- Weblogic集群安装
- [NOIP2012普及组]摆花
- 【Python】请编码实现动物世界的继承关系:动物(Animal)具有行为:吃(eat)、睡觉(sleep)动物包括:兔子(Rabbit),老虎(Tiger)动物吃的行为各不相同(兔子吃草,老虎吃肉)
- excel打印预览在哪里_表格打印不全怎么办?这招超简单!
- 粗略使用.NetCore2.0自带授权登陆Authorize