通过Twilio发送和接收短信,在注册期间验证用户

时间:2014-04-02 13:57:57

标签: android sms twilio verification

我正在尝试通过twilio(Android应用程序)发送短信来验证用户。

以下是详细摘要 - (如在Snapchat中) 在注册期间,我想通过向用户移动设备发送动态运行时代码来验证用户。 发送后我有验证字段。

那我该怎么办?

2 个答案:

答案 0 :(得分:10)

Twilio员工在这里。

对于Twilio来说,这是一个非常常见的用例,很多应用程序会执行您正在寻找的“电话号码验证”。

让我简单介绍一下如何以人的形式执行此操作,因为这比编写一堆代码更容易解​​释:

  1. 用户将在要验证的字段中键入其电话号码。
  2. 当用户输入了他们的号码时,您可以计算一个唯一的代码(您只需要4-6位数),然后使用我们的REST API发送他们输入代码的号码。
  3. 此时,您应该保存唯一代码,以便日后可以参考。
  4. 提示用户将代码输入应用内的字段。
  5. 将输入的代码与您存储的唯一编号和中提琴
  6. 进行比较

    如果代码相同:您知道他们拥有您发送邮件的电话号码。 this 2-factor authentication how-to中描述了一个非常类似的过程。

    我希望这是有道理的。

    如果您有任何疑问,请询问。

答案 1 :(得分:0)

免责声明:我是 Django-phone-verify

的维护者

虽然phait的答案很恰当。人们曾在评论中询问相关应用程序,以完成用户验证。大部分内容来自我先前在https://stackoverflow.com/a/57461296/3535547的答案,我只是在此线程中粘贴更新的答案,以便用户更轻松地找到它。

django-phone-verify应用程序可轻松实现您想要完成的任务。它附带了已经集成的Twilio和Nexmo,并且可以根据用例扩展几个端点。

此软件包旨在验证特定客户端请求的电话号码是否属于它们。它还要确保确保同一台设备提供了密码验证,该验证最初要求发送密码,从而为您节省了数小时的工作。

此软件包也完全不会干扰您当前的用户模型。您完全可以自由地将此软件包用于一件事:verifying phone numbers。是否为用户,公司等执行此操作取决于您的用例。

它遵循Do one thing; do it well

的Unix哲学。

安装

pip install django-phone-verify

配置

  • 将应用添加到 INSTALLED_APPS
    # In settings.py:

    INSTALLED_APPS = [
        ...
        'phone_verify',
    ]
  • 在您的settings.py文件中添加设置:
    # Settings for phone_verify
    PHONE_VERIFICATION = {
        'BACKEND': 'phone_verify.backends.twilio.TwilioBackend',
        'TWILIO_SANDBOX_TOKEN':'123456',
        'OPTIONS': {
            'SID': 'fake',
            'SECRET': 'fake',
            'FROM': '+14755292729'
        },
        'TOKEN_LENGTH': 6,
        'MESSAGE': 'Welcome to {app}! Please use security code {otp} to proceed.',
        'APP_NAME': 'Phone Verify',
        'OTP_EXPIRATION_TIME': 3600  # In seconds only
    }
  • 迁移数据库:
    python manage.py migrate

您有两个端点(Check API docs),一个端点用于注册电话号码,另一个端点用于验证密码。您可以覆盖usage docs: https://github.com/CuriousLearner/django-phone-verify/blob/master/docs/usage.rst

中所述的验证端点来创建用户