使用容联云通讯实现短信验证登入

目前阿里云的短信服务不支持本地项目了,必须是上线的项目申请签名才可通过。

分享一个可免费测试使用的平台,容联云的短信服务,注册送的金额大约可以用于接收133次短信。

容联云通讯地址

云通讯管理控制台

1. 注册

2. 免费开发测试需要在"控制台—管理—号码管理—测试号码"绑定 测试号码

3. Demo

  所需依赖:

        <!--容联云-->
        <dependency>
            <groupId>com.cloopen</groupId>
            <artifactId>java-sms-sdk</artifactId>
            <version>1.0.1</version>
        </dependency>

  测试类:

import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;

import java.util.HashMap;
import java.util.Set;

public class testSend {
    public static void main(String[] args) {
        //生产环境请求地址:app.cloopen.com
        String serverIp="app.cloopen.com";
        //请求端口
        String serverPort="8883";
        //主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN
        String accountSId="";
        String accountToken="";
        //请使用管理控制台中已创建应用的APPID
        String appId="";
        CCPRestSmsSDK sdk=new CCPRestSmsSDK();
        sdk.init(serverIp,serverPort);
        sdk.setAccount(accountSId,accountToken);
        sdk.setAppId(appId);
        sdk.setBodyType(BodyType.Type_JSON);
        //发送短信至手机号
        String to="";
        //短信模板
        String templateId="1";
        //随机生成验证码
        String random=(int)((Math.random()*9+1)*100000)+"";
        //控制台输出验证码
        System.out.println("手机短信验证码--------------->"+random);
        //验证码为生成的随机数,5分钟内到期
        String[] datas={random,"5"};
        HashMap<String,Object> result = sdk.sendTemplateSMS(to,templateId,datas);
        if("000000".equals(result.get("statusCode"))){
            //正常返回输出data包体信息(map)
            HashMap<String,Object> data = (HashMap<String,Object>) result.get("data");
            Set<String> keySet = data.keySet();
            for(String key:keySet){
                Object object = data.get(key);
                System.out.println(key +" = "+object);
            }
        }else{
            //异常返回输出错误码和错误信息
            System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
        }
    }
}

 

项目的注册登入界面可将测试类封装成方法,短信时效性问题可在前端用JS设置定时器。

 

测试效果:

测试截图


版权声明:本文为hellolater原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。