App集成短信验证码

iOS开发——App集成短信验证码

无论是在网页上还是在客户端,每当我们进行注册的时候,往往会进行短信或者邮箱验证,这是一种不错的安全机制。对于用户体验来说,如果是在PC的网页上,用邮箱或者短信验证都比较方便;如果是在手机上,那么使用短信验证就比较方便。这篇博客我们将会在iOS应用中实现短信验证码的功能。 

 大家可以尝试去开发。在我们进行调试过程中,需要注意的是:我们只能往同一个号码发送5条验证短信(12小时内)。超过这个额度就不能收到验证短信了。这个是有电信运营商确定的,也是为了防止垃圾短信的一种安全方式。试想如果你不断往一个号码发送验证码,是不是就会成为垃圾短信呢?所以就会有这个数量限制。也就因为这个限制,让我们调试程序增加了困难,也就意味着基本上一天之内我们只能运行5次程序。。。。每次调试程序还要斟酌一番,要不要发送呢?也就因为这个原因,这个简单的功能我测试了2天。。。谁让我只有一个号码呢?

具体实现步骤如下:

(1)登录mob移动开发者服务平台,注册登录,然后下载短信验证码SDK,SMS for
iOS,然后直接拖入到项目中即可。里面也有示例demo,做的挺不错的,支持全球发送。

(2)进入后台,创建一个应用即可。获得App Key和App
Secret即可,在项目中会用到。这样我们就有服务端了。

图片 1

 

(3)发送验证码。只要向服务器发送国家码+手机号码
,就可以了。一般在5秒之内就可以收到验证码。中国的国家码就是86.如果你的App也需要在国外发布,就需要进行相应的配置。在自带的demo中就进行了国家的选择。

 

      [SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:@18888888888
                                     zone:@86
                         customIdentifier:nil
                                   result:^(NSError *error){
                                     if (!error){
                                       //发送验证码成功的回调;
                                     }
                                     else{
                                       //发送验证码失败的回调;如果你输入错误的手机号码或者任意数字,就会回调;
                                     }
                                   }];

 

(4)验证
验证码是否正确。只要向服务器发送手机号和刚才接收到的验证码,服务器端就会进行匹配验证,然后进行相应的回调。

注意点:1).一个验证码只能进行一次验证,一旦第一次验证失败后,就算第二次输入正确的验证码,也不会验证成功。

2).接收到验证码后,只在60s内有效,超过60s,就算验证码正确,也会验证失败。

实现代码如下:

 

[SMSSDK commitVerificationCode:1234(验证码) phoneNumber:18888888888 zone:@86 result:^(NSError *error) {
    if (!error) {
      //验证成功后的回调;
    }//if();
    else{
      //验证失败后的回调;
    }
  }];

总结:验证码可以用在注册或者找回密码这两个部分,目的就是验证你的身份。如何扩展这个验证码功能,就看你的idea了。

 

 

无论是在网页上还是在客户端,每当我们进行注册的时候,往往会进行短信或者邮箱验证,这是一种不错的安…

相关文章