认证服务:整合短信验证码

这篇具有很好参考价值的文章主要介绍了认证服务:整合短信验证码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前提提示

视频对应的阿里云短信服务需要企业验证,下面换一种阿里云的产品也是大同小异的

【三网106短信】短信接口-短信验证码-短信通知-会员短信群发-短信平台API接口-行业短信_支持携号转网_自定义签名和模板【最新版】_实名认证接口/API_身份证接口/API_银行卡认证-云市场-阿里云 (aliyun.com)

分析讲解

认证服务:整合短信验证码

名称

类型

是否必须

描述

mobile

STRING

必选

需要发送的手机号。(同一手机号码,同一签名验证码,一分钟一次,频率过快可能会导致运营商系统屏蔽,用户无法正常接收。)

param

STRING

可选

短信模板变量替换。(字符串格式:**key**:value,**key**:value。例如:**code**:12345,**minute**:5。如模板中有多个变量请使用英文逗号隔开。建议对参数进行URLEncode编码,以免出现乱码等异常情况)

smsSignId

STRING

必选

短信前缀ID(签名ID),可在控制台申请。——【1】测试前缀ID:2e65b1bb3d054466b82f0c9d125465e2;【2】测试签名限流规则,同一个号码,1分钟1次,1小时5次,24小时10次,不支持大量商用;【3】控制台&签名和模板申请教程:http://help.guoyangyun.com/Problem/Qm.html

templateId

STRING

必选

短信正文ID(模板ID),可在控制台申请。—— 测试ID请用:908e94ccf08b4476ba6c876d13f084ad,对应短信正文为 {验证码:**code**,**minute**分钟内有效,请勿泄漏于他人!}

错误码

错误信息

描述

1204

签名未报备

可在控制台申请 —— 【控制台&签名和模板申请教程】http://help.guoyangyun.com/Problem/Qm.html

1205

签名不可用

签名一般为:公司名简称、产品名、商城名称、网站名称、APP名称、系统名称、公众号、小程序名称等等。不可以是纯数字、电话号码或者无意义的签名,如:【温馨提示】【测试】【你好】等;

1302

短信内容包含敏感词

短信内容包含敏感词

1304

短信内容过长

短信内容实际长度=短信签名+短信内容。(短信计费方式:70字内按1条计费,超出按67字每条计费;一个汉字、数字、字母、符号都算一个字;带变量短信按实际替换后的长度计费)

1320

模板ID不存在

可在控制台申请 —— 【控制台&签名和模板申请教程】http://help.guoyangyun.com/Problem/Qm.html

1403

手机号码不正确

手机号码不正确

1905

验证未通过

验证未通过

curl -i -k -X POST 'https://gyytz.market.alicloudapi.com/sms/smsSend?mobile=mobile&param=**code**%3A12345%2C**minute**%3A5&smsSignId=2e65b1bb3d054466b82f0c9d125465e2&templateId=908e94ccf08b4476ba6c876d13f084ad'  -H 'Authorization:APPCODE 你自己的AppCode'

//smsSignId(短信前缀)和templateId(短信模板),可登录国阳云控制台自助申请。参考文档:http://help.guoyangyun.com/Problem/Qm.html
 

正常返回示例

{
    "msg": "成功", 
    "smsid": "16565614329364584123421",  //批次号。可通过该ID查询发送状态或者回复短信。API接口可联系客服获取。
    "code": "0",
    "balance": "1234"  //账户剩余次数
}

失败返回示例

{
    "code":"XXXX",
    "msg":"错误提示内容",
    "ILLEGAL_WORDS":["XX","XX"]    // 如有则显示
     // 1、http响应状态码对照表请参考:https://help.aliyun.com/document_detail/43906.html;
     // 2、如果次数用完会返回 403,Quota Exhausted,此时继续购买就可以;
     // 3、如果appCode输入不正确会返回 403,Unauthorized;
}

认证服务:整合短信验证码

 java代码落地

SmsComponent类

@Data
@ConfigurationProperties(prefix = "spring.alicloud.sms")
@Component
public class SmsComponent {

    private  String host;
    private  String path;
    private  String templateId;
    private  String smsSignId;
    private  String appcode;

    public void sendSmsCode(String phone,String code){
        String host = "https://gyytz.market.alicloudapi.com";
        String path = "/sms/smsSend";
        String method = "POST";
        String appcode = "9a0f9ce1ac154e108d00aade73e1bd3b";
        Map<String, String> headers = new HashMap<String, String>();
        //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
        headers.put("Authorization", "APPCODE " + appcode);
        Map<String, String> querys = new HashMap<String, String>();
        querys.put("mobile", phone);
        querys.put("param", "**code**:+"+code+",**minute**:666");

        //smsSignId(短信前缀)和templateId(短信模板),可登录国阳云控制台自助申请。参考文档:http://help.guoyangyun.com/Problem/Qm.html

        querys.put("smsSignId", "2e65b1bb3d054466b82f0c9d125465e2");
        querys.put("templateId", "ea66d14c664649a69a19a6b47ba028db");
        Map<String, String> bodys = new HashMap<String, String>();
        try {

            HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
            System.out.println(response.toString());
            //获取response的body
            //System.out.println(EntityUtils.toString(response.getEntity()));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 //smsSignId(短信前缀)和templateId(短信模板),可登录国阳云控制台自助申请。参考文档:http://help.guoyangyun.com/Problem/Qm.html 

配置类相关代码 

 spring.cloud.alicloud.sms.host=https://gyytz.market.alicloudapi.com
spring.cloud.alicloud.sms.path=/sms/smsSend
spring.cloud.alicloud.sms.templateId=ea66d14c664649a69a19a6b47ba028db
spring.cloud.alicloud.sms.smsSignId=2e65b1bb3d054466b82f0c9d125465e2
spring.cloud.alicloud.sms.appcode=9a0f9ce1ac154e108d00aade73e1bd3b
文章来源地址https://www.toymoban.com/news/detail-405704.html

到了这里,关于认证服务:整合短信验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot整合https使用自签名证书实现浏览器和服务器之间的双向认证

    效果描述: 本地环境  两台以上电脑  可以实现安装客户端证书的电脑可以访问springboot启动项目,没有安装客户端证书的电脑无法访问springboot启动项目 1.操作:需要安装openssl工具 工具包:Win64OpenSSL_Light-3_3_0.exe 或者Win64OpenSSL_Light-3_3_0.msi  官网:[ Downloads ] - /source/index.html

    2024年04月28日
    浏览(50)
  • uniapp - 安卓|苹果App软件实现调用百度人脸识别接口服务及人脸活体认证功能,uniapp苹果ios、安卓Android手机app平台,人脸认证、活体检测、身份证与人脸验证(示例代码,一键复制

    在uniapp手机App开发中(安卓Android|苹果ios系统),利用百度人脸识别api接口对接uniapp APP进行人脸识别、人脸检测、活体验证、人脸对比、人脸搜索、身份证信息是否与人脸匹配,支持离线SDK集成、离线无网络正常使用功能、自定义人脸识别框附近的页面样式和大小等。 提供详

    2024年04月11日
    浏览(68)
  • 个人所得税年度应纳税额抵扣-Apsara Clouder云计算专项技能认证:云服务器ECS入门[考试题及答案,已验证]

      单选21道题 1.云服务器ECS以服务化的方式对客户提供,阿里云产品售后支持的时间段是? A.5*8 B.7*8 C.7*12 D.7*24 2.云服务器ECS的计费方式不含以下哪项? A.包年包月 B.按量计费 C.抢占式实例 D.网商贷 3.云服务器ECS产品丰富,以下哪个不是云服务器ECS实例类型? A.通用计算 B.异构计

    2024年02月03日
    浏览(41)
  • Springcloud gateway网关+认证服务+token方式,入口层认证统一微服务鉴权【设计实践】

    目录 背景 实现 gateway maven配置 yml配置 页面登录拦截配置类 白名单配置 token工具类 登录配置类 全局过滤器类 项目启动类 分布式项目的单点登录分为认证服务(单点登录服务端)和业务服务(单点登录客户端)两个角色, 当访问业务服务时,认证服务客户端SDK校验一下是否

    2024年02月15日
    浏览(49)
  • 简单网络服务服务认证攻击测试

    使用工具:CentOS+Kali自带的hydra工具 1、确保虚拟机中已装有CentOS(Linux)镜像和Kali镜像(kali-linux),CentOS作为靶机,Kali作为攻击主机 2、打开CentOS虚拟机,配置IP地址( vi /etc/sysconfig/network-scripts/ifcfg-ens32),参考( bootproto=static、onboot=yes、在最后加上几行,IP地址、子网掩

    2024年02月04日
    浏览(78)
  • 【权限设计系列】「认证授权专题」微服务常见安全认证方案

    HTTP 基本认证 HTTP Basic Authentication(HTTP 基本认证)是 HTTP 1.0 提出的一种认证机制,这个想必大家都很熟悉了,不再赘述。 HTTP 基本认证的过程如下 客户端发送HTTP Request给服务器。 因为Request中没有包含 Authorization header,服务器会返回一个 401 Unauthozied 给客户端,并且在 Respo

    2023年04月15日
    浏览(56)
  • 微服务治理框架(Istio)的认证服务与访问控制

    本博客地址:https://security.blog.csdn.net/article/details/130152887 1.1、基于JWT的认证 在微服务架构下,每个服务是无状态的,由于服务端需要存储客户端的登录状态,因此传统的session认证方式在微服务中不再适用。理想的实现方式应为无状态登录,流程通常如下: 1、客户端请求某服

    2023年04月15日
    浏览(47)
  • 【AGC】认证服务HarmonyOS(api9)实现手机号码认证登录

    【问题背景】 近期AGC上线了HarmonyOS(api9)平台的SDK,这样api9的设备也能使用认证服务进行快速认证登录了。下面为大家带来如何使用auth SDK(api9)实现手机号码认证登录。 【开通服务】 1.登录AppGallery Connect,点击“我的项目”,在项目的应用列表中选择您需要开通认证服务的

    2024年02月15日
    浏览(46)
  • OpenStack之认证服务(Keystone)

    **1、安装与配置Keystone ** 安装Keystone软件包 查看用户/用户组信息,passwd文件所有包含keystone字符串行 进入MariaDB数据库服务器 新建“keystone”数据库 给用户授权使用新建数据库 退出数据库 **2、配置Keystone ** 修改配置文件 修改内容 初始化Keystone的数据库 **3、Keystone组件初始化

    2024年02月10日
    浏览(35)
  • 中国国家信息安全产品认证证书 | CCRC信息安全服务资质认证

    中国信息安全认证中心是经中央编制委员会批准成立,由国务院信息化工作办公室、国家认证认可监督管理委员会等八部委授权,依据国家有关强制性产品认证、信息安全管理的法律法规,负责实施信息安全认证的专门机构。 中国信息安全认证中心为国家质检总局直属事业单

    2024年02月05日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包