亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第八天 短信注冊與登錄

標簽:
Java

课程名称:Spring Cloud 进阶 Alibaba 微服务体系自媒体实战
课程章节: 第3章 开发通行证有关服务
主讲老师: 风间影月

课程内容

本课程主要是通过借助阿里云平台,来实现短信发送功能。

内容概述:

  • 短信登录与注册

  • 短信验证码发送与限制


短信注册流程:

  • 用户前端输入手机号。并且对手机号进行格式校验。(格式校验的目的是为了防止重复发送过多短信)

  • 判断60秒内是否发送过短信。

  • 如果发送过,提示用户已经发送过短信,请勿重复点击发送。

  • 如果未发送,则生成对应的短信验证码。

  • 调用阿里云短信服务,实现短信发送功能。

  • 保存验证码,并且限制一定时间失效。

https://img1.sycdn.imooc.com//632091470001242d09840507.jpg

一键登录/注册流程

https://img1.sycdn.imooc.com//632091510001242d09840507.jpg

短信服务

配置密钥与资源

在使用第三方云资源的时候,需要配置秘钥,不论阿里云或者腾讯云,都有这样的操作,具体如下:

resources/aliyun.properties

创建对应的配置类:AliyunResource

@Component
@PropertySource("classpath:aliyun.properties")
@ConfigurationProperties(prefix = "aliyun")
public class AliyunResource {
    private String accessKeyId;
    private String accessKeySecret;

    public String getAccessKeyId() {
        return accessKeyId;
    }

    public void setAccessKeyId(String accessKeyId) {
        this.accessKeyId = accessKeyId;
    }

    public String getAccessKeySecret() {
        return accessKeySecret;
    }

    public void setAccessKeySecret(String accessKeySecret) {
        this.accessKeySecret = accessKeySecret;
    }
}

在common子工程中引入阿里云短信依赖

<dependencies>
    <!-- 第三方云厂商相关的依赖 -->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.0</version>
    </dependency>
</dependencies>

整合并发送短信

阿里云官方提供了短信api,可以直接复制工具类到各自的项目中即可使用。参考如下:
短信工具类:

@Component
public class SMSUtils {

    @Autowired
    public AliyunResource aliyunResource;

    public void sendSMS(String mobile, String code) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
                                                aliyunResource.getAccessKeyID(),
                                                aliyunResource.getAccessKeySecret());
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");

        request.putQueryParameter("PhoneNumbers", mobile);
        request.putQueryParameter("SignName", "风间影月");
        request.putQueryParameter("TemplateCode", "SMS_183761535");
        request.putQueryParameter("TemplateParam", "{\"code\":\"" + code + "\"}");

        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

课程截屏

https://img1.sycdn.imooc.com//632091720001101b10020577.jpg

https://img1.sycdn.imooc.com//6320918100016d5109370520.jpg

https://img1.sycdn.imooc.com//6320918f00010aad09880537.jpg

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
1
獲贊與收藏
3

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消