How to Implement User Verification
This guide demonstrates how to implement user verification end-to-end using a simply Node.js Express server.
User verification ensures that only authorized users can access your private roadmaps or widgets. Because this process involves sensitive credentials (your Shared Secret), the authentication token must be generated on your server, never in the browser.
NextJS demo
You can find an examxple implementation of the user verfiication flow in NextJS on Github.
Express server demo
Prerequisites
Before running the example, ensure you have the following:
Node.js installed (v18 or newer recommended).
Your Released credentials (found in Settings → User Verification):
ACCOUNT_IDSHARED_SECRET
The Channel ID for the portal you want to embed Finding the Channel/Form ID
CHANNEL_ID
Implementation
Set up the project
Open your terminal and run the following commands to create a folder and install the necessary web server framework (express).
Run the server
Start the application in your terminal:
Bash
Tunneling (Required for HTTPS)
Most browsers restrict embedded widgets or cookies when running on localhost. To test this properly, you need a public https URL. We recommend using a tool like ngrok.
Install ngrok (if you haven't already).
Run the tunnel in a new terminal window:
Bash
Copy the Forwarding URL provided by ngrok (e.g.,
https://a1b2-c3d4.ngrok-free.dev).Important: Add this URL to your Allowed Domains in the Released dashboard if you have domain restrictions enabled.
Open the URL in your browser to see your authenticated roadmap.
Whitelist the ngrok domain
Add the ngrok domain to your list of trusted domains for embedded content.
Troubleshooting
Widget not loading?
Check your browser console. If you see CORS errors, ensure your ngrok URL is added to the "Allowed Domains" list in your Released settings.
Last updated
Was this helpful?