由于业务需要,需要使用第三方短信平台,进行验证码的发送。网上的短信服务平台主要由:百度、腾讯、阿里云;采用官方提供的SDK,调用接口即可。
腾讯云短信服务平台和阿里云短信服务平台,一般步骤为:注册--->企业/个人 实名认证----->创建应用----->创建短信签名------>创建模板---->等待审核---->使用提供的SDK调用接口,发送短信。
我使用的是腾讯云短信服务平台,阿里云的我进去之后和他的流程类似,这里直说腾讯云短信服务平台,注册完之后进去,首先会提示一个友好的提示界面,然后点击快速开始即可:
安装提示,一步一步会进入到认证界面,认证分为个人和企业,这里是给公司使用,我选择的是企业认证,然后选择已经完成企业认证的微信公众号认证(其他认证方式也阔以):
认证成功后,腾讯云短信平台会提示您的权限信息等,然后点击确定即可:
进行到这里,首先应该点击【应用管理】创建应用,这里使用默认的应用(系统给默认创建了一个,也可以自己创建);这里我使用默认的,所以,直接从【快速入门】,进行签名,模板的配置,然后等待审核结果,等审核通过,即可使用官方SDK调用API接口,发送短信:
点击应用可以查看应用的详细信息,
其中SDK AppID,App Key 是需要你保密的,存放在你的服务器后台,调用短信API接口时,需要用到。
完成以上配置之后,下面就可以进行SpringBoot工程集成腾讯云短信SDK调用短信接口,发送验证码短信了。
第一步:pom.xml中,引入SDK
<!-- 腾讯云sdk-->
<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.6</version>
</dependency>
第二步:创建短信验证码发送工具类
package com.inspur.tax.api.sms.utils;
import com.alibaba.fastjson.JSONObject;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import com.sun.org.apache.xpath.internal.objects.XObject;
import com.inspur.tax.api.sms.cache.CacheManagerImpl;
import org.json.JSONException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.L