iOS開發——App整合簡訊驗證碼

來源:互聯網
上載者:User

iOS開發——App整合簡訊驗證碼

無論是在網頁上還是在用戶端,每當我們進行註冊的時候,往往會進行簡訊或者郵箱驗證,這是一種不錯的安全機制。對於使用者體驗來說,如果是在PC的網頁上,用郵箱或者簡訊驗證都比較方便;如果是在手機上,那麼使用簡訊驗證就比較方便。這篇部落格我們將會在iOS應用中實現簡訊驗證碼的功能。 

 大家可以嘗試去開發。在我們進行調試過程中,需要注意的是:我們只能往同一個號碼發送5條驗證簡訊(12小時內)。超過這個額度就不能收到驗證簡訊了。這個是有電信電訊廠商確定的,也是為了防止垃圾簡訊的一種安全方式。試想如果你不斷往一個號碼發送驗證碼,是不是就會成為垃圾簡訊呢?所以就會有這個數量限制。也就因為這個限制,讓我們偵錯工具增加了困難,也就意味著基本上一天之內我們只能運行5次程式。。。。每次偵錯工具還要斟酌一番,要不要發送呢?也就因為這個原因,這個簡單的功能我測試了2天。。。誰讓我只有一個號碼呢?

具體實現步驟如下:

(1)登入mob移動開發人員服務平台,註冊登入,然後下載簡訊驗證碼SDK,SMS for iOS,然後直接拖入到項目中即可。裡面也有樣本demo,做的挺不錯的,支援全球發送。

(2)進入後台,建立一個應用即可。獲得App Key和App Secret即可,在項目中會用到。這樣我們就有服務端了。

 

(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了。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.