Backend Prerequisites
In this first part, we’ll build a small Node.js backend that starts and completes a Vonage Verify API flow.
This backend will support:
- Silent Authentication: verification happens through the mobile network when possible (no code entry).
- SMS verification: the user receives a one-time code by SMS and types it in. Verify will fall back to SMS if Silent Authentication is not available or fails.
Important: Your Vonage credentials (JWT/private key) must live only on the backend. The mobile app will call your backend, and your backend will call Vonage.
Before You Start
Make sure you have:
- A Vonage account and Vonage application.
- Nodejs (v.14+) and npm installed (node -v and npm -v to check).
- We'll use cURL to test the backend.
Set Up Your Vonage Credentials
To complete this learning path, you’ll need a Vonage account and a Vonage Application. If you don’t have a Vonage account yet, you can sign up and start with free credit.
Create a Vonage Application
A Vonage Application represents your backend service and contains the credentials required to call the Verify API.
Follow these steps in the Vonage Dashboard:
- Open the Vonage Dashboard and select Applications from the left-hand menu.
- Click Create a new application.
- Enter a name for your application (for example:
verify-tutorial). - Click Generate public and private key.
- A private key file will be downloaded automatically.
- Save this file securely. It is required to generate JWTs and must stay on the backend.
- Scroll to the Capabilities section and enable Network Registry.
- Select the Playground environment.
- Leave the rest of the Network Registry configuration empty for now. We’ll return to it later in the tutorial.
- Click Generate new application to finish.
- After creation, copy the Application ID shown in the dashboard.
Important security rule
- The private key must never be included in a mobile app.
- Only the backend will use it to authenticate with Vonage.
Next Steps
Continue to the next module to open GitHub Codespaces and complete the Backend Coding Exercise. Once you’ve completed it, confirm everything is working correctly by checking the final status your backend receives via the callback. Paste only the status value (no extra text) to mark this coding exercise as completed.