繁体   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