我正在尝试通过twilio(Android应用程序)发送短信来验证用户。
以下是详细摘要 - (如在Snapchat中) 在注册期间,我想通过向用户移动设备发送动态运行时代码来验证用户。 发送后我有验证字段。
那我该怎么办?
答案 0 :(得分:10)
Twilio员工在这里。
对于Twilio来说,这是一个非常常见的用例,很多应用程序会执行您正在寻找的“电话号码验证”。
让我简单介绍一下如何以人的形式执行此操作,因为这比编写一堆代码更容易解释:
如果代码相同:您知道他们拥有您发送邮件的电话号码。 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
pip install django-phone-verify
# 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
中所述的验证端点来创建用户