This demo of the Twilio Verify API includes best practices for SMS verification retry logic with Voice fallback and landline detection.
- A Verify Service. Create one in the Twilio Console
This project requires some environment variables to be set. To keep your tokens and secrets secure, make sure to not commit the .env
file in git. When setting up the project with twilio serverless:init ...
the Twilio CLI will create a .gitignore
file that excludes .env
from the version history.
In your .env
file, set the following values:
Variable | Meaning | Required |
---|---|---|
ACCOUNT_SID |
Find in the console | Yes |
AUTH_TOKEN |
Find in the console | Yes |
VERIFY_SERVICE_SID |
Create one here | Yes |
start-verify.js
expects the following parameters:
Parameter | Description | Required |
---|---|---|
to |
Either an email or phone number in E.164 format | Yes |
channel |
'sms' or 'call'. Default is 'sms' | No |
check-verify.js
expects the following parameters:
Parameter | Description | Required |
---|---|---|
to |
Either an email or phone number in E.164 format | Yes |
code |
Collected from user input | Yes |
- Install the Twilio CLI
- Install the serverless toolkit
twilio plugins:install @twilio-labs/plugin-serverless
- Initiate a new project
twilio serverless:init verify-retry-sample --template=verify-retry && cd verify-retry-sample
- Add your environment variables to
.env
:
Make sure variables are populated in your .env
file. See Environment variables.
- Start the server :
twilio serverless:start
- Open the web page at https://localhost:3000/index.html and enter your phone number to test
ℹ️ Check the developer console and terminal for any errors, make sure you've set your environment variables.
Deploy your functions and assets with either of the following commands. Note: you must run these commands from inside your project folder. More details in the docs.
With the Twilio CLI:
twilio serverless:deploy