TwilioVerify是一个服务,允许您添加电话验证到您的应用程序。如果您对验证用户的好处感到好奇,请考虑以下两个用例:
减少假账户-如果您要求用户在创建帐户时提供有效的电话号码,那么他们创建假帐户或重复帐户的可能性就会降低。双因素认证-当您的用户登录时,向他们发送验证代码可以帮助保护他们的帐户,如果他们的凭据被破坏了。
在本教程中,我们将学习如何使用Python中的TwilioVersionAPI。因为这是一个如此简单的API,所以我们将通过Pythonshell完成所有的工作!
教程要求
要遵循本教程,您需要下列项目:
Python 3.5或更高版本。如果您的操作系统没有提供Python3.5+解释器,则可以转到python下载安装程序。一条电话线。移动电话和固定电话都可以。一个Twilio账户。如果你是新来的,你可以创建一个试用帐户开始免费开发。请回顾免费Twilio账户的特点与局限性 .服务配置
本教程的第一部分专门介绍如何在Twilio帐户中配置验证服务。
登录到您的Twilio控制台,选择左侧侧边栏上的“All Products&Services”按钮,然后单击onVerify。现在,您将看到一个空的“服务”列表。在twilio验证的上下文中,服务是代表需要验证的应用程序的实体。单击“立即创建服务”按钮,然后为其输入友好名称。
我要用这个名字微博,这是我的开源项目之一。您为服务选择的名称将出现在发送给用户的SMS消息中,并且还将通过语音呼叫中的文本到语音引擎进行通话。
将为您创建的验证服务分配一个“ServiceSID”,该服务的设置页面中显示了该服务:
除了服务SID之外,要验证您还需要自己的Twilio帐户SID和Auth令牌,您可以从Twilio Consolep获得:
创建Python环境
现在我们准备看看如何运行验证。我们将首先在您的计算机上创建一个名为*twilio验证-test*或类似的新目录,然后在其中创建一个新的Python虚拟环境。
对于Mac和Unix用户,命令如下:
$ mkdir twilio-verify-tests
$ cd twilio-verify-tests
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ _
对于Windows用户,命令如下:
$ mkdir twilio-verify-tests
$ cd twilio-verify-tests
$ python3 -m venv venv
$ venv\Scripts\activate
(venv) $ _
接下来,安装Python的Twilio Helper库在您的虚拟环境中:
(venv) $ pip install “twilio>=6.17.0”
确保Twilio Helper Library的版本为6.17.0或更高版本,因为旧版本不支持Twilio验证API。
向用户发送令牌
通过输入以下四个语句,您可以直接从Pythonshell向自己发送一个验证SMS:
from twilio.rest import Client
client=Client('', '')
verify=client.verify.services('')
verify.verifications.create(to='', channel='sms')
运行上述代码时,请确保在正确的位置插入帐户SID、Auth令牌和ServiceSID。
您的电话号码必须输入E.164格式。例如,来自美国的数字必须输入为’+12345678900’,在哪里+1是国家代码,234是区号,而且567-8900是本地号码。
如果您输入的号码是移动电话号码,您将在您的手机上收到一条短信:
注意消息是如何包含在twilio验证控制台中为服务指定的友好名称的。
如果您输入的号码是固定电话,Twilio将给您一个错误。那是因为通过channel=’sms’您要求向无法接收短信的电话线发送确认短信。你可以用channel='call'若要在向您朗读代码的地方请求语音呼叫,请执行以下操作。验证语音呼叫为固定电话和移动电话工作。
验证令牌
该过程的第二部分是当用户进入您的应用程序并输入在SMS或电话中提供给他们的代码。要验证用户在应用程序上提供的代码,您必须对TwilioVersionAPI发出另一个调用:
result=verify.verification_checks.create(to='', code='123456')
print(result.status)
pending
result=verify.verification_checks.create(to='', code='507296')
print(result.status)
approved
注意在第一次验证尝试中如何给出错误的令牌,在这种情况下,响应的状态属性被标记为pending...给出正确的令牌后,状态将更改为approved,这就是你表示核查是成功的。
结语
TwilioVersionAPI是一种提高应用程序安全性的简单方法。我希望你决定试一试!