簡體   English   中英

IOS:如何使用代碼驗證用戶的電話號碼

[英]IOS: How to verify user's phone number using codes

我正在開發一個應用程序,在該應用程序中,我在輸入手機號碼后獲取用戶的手機號碼字段,有一個用於驗證電話號碼的選項。 但我不知道如何使用代碼在應用程序中驗證用戶電話號碼的功能。我搜索了類似類型的問題,但沒有得到確切的解決方案。 我正在發送我的應用程序的屏幕截圖,我想在其中放置該功能。 我沒有為此應用任何代碼
請幫忙

在此處輸入圖片說明

您需要一個可以為每個電話號碼生成和保存代碼並使用這些代碼發送短信的后端。 所以流程如下:

  1. 用戶在應用程序中輸入他們的電話號碼並按下“驗證號碼”按鈕。
  2. 您使用提供的號碼向后端發送請求。 在應用程序中,您還會顯示一個文本字段供用戶輸入生成的代碼和一個新按鈕,如“檢查代碼”。
  3. 后端生成一個新代碼(只是一個隨機代碼),將其存儲到數據庫(如 ID、PhoneNumber、GeneratedCode、DateOfGeneration)並將帶有代碼的文本消息發送到指定的電話號碼。
  4. 當用戶收到消息時,他或她將代碼輸入到檢查輸入字段並按下“檢查”按鈕。
  5. 移動應用程序使用之前輸入的電話號碼和用戶現在輸入的代碼向后端發送另一個請求。
  6. 后端在數據庫中查找“電話號碼”-“代碼”對,並以失敗(代碼不正確,再試一次)或成功(電話已驗證)作為響應。

不幸的是,無法訪問用戶從 iOS 設備上的應用程序中收到的短信(與 Android 不同)。 已經提供了證明鏈接。 所以用戶必須手動輸入消息中的驗證碼。

好的,我告訴信息我之前是如何完成我的項目的

第1步

當用戶按下Verify Number按鈕時

  • 最初我檢查電話號碼是否有效(意味着電話號碼數量/長度)。

  • 其次,我以編程方式生成隨機數,如NSUInteger r = arc4random_uniform(16);

    第2步

    將隨機數與有效電話號碼一起發送到服務器,服務器使用 SMTP 服務器將隨機數發送到特定的手機號碼。

    步驟 3

    在你的手上你有隨機數,所以打開UIAlertview為用戶輸入有效的隨機數,如果用戶輸入了有效的數字,則顯示Next Screen否則顯示Alert

要驗證任何手機號碼,您可以使用可用於移動設備和后端服務器的第三方 API。 您可以使用Twilio Messaging Api 要使用此 API,請按照以下步驟操作:

  1. 在 Twilio 上注冊帳戶並從帳戶中獲取密鑰。
  2. 從移動應用程序獲取用戶的電話號碼。
  3. 當用戶單擊“驗證號碼”按鈕時,使用該號碼調用網絡服務。
  4. 當您調用 Web 服務時,編寫一個邏輯來使用 Twilio 消息傳遞 api 發送隨機數以向用戶發送消息。
  5. 當用戶通過短信獲得此號碼時,您可以告訴用戶輸入號碼並進行驗證。

此外,還有另一個 api,您可以直接將其集成到您的移動應用程序中。 你可以在這里找到這個Sinch Api

要驗證您設備的電話號碼,首先,您需要從您的設備獲取電話號碼,然后您可以進行比較。 但是,在 iOS 4 之后,獲取設備的電話號碼是非常不可能的。 即使您確實使用一些我不確定完全有效的私有 api 獲取設備編號,Apple 也很有可能拒絕您的應用程序。

參考下面的堆棧溢出討論—— 在 iOS 中以編程方式獲取自己的電話號碼

只是一個建議:您可能想根據您的業務目標尋找解決方法。 例如,而不是直接檢查設備的電話號碼。 您可以生成一個代碼並將其發送到用戶指定的號碼,然后輸入該代碼以驗證用戶是否擁有該設備。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM