This guide will help you get the IPification Showcase application up and running quickly.
- Prerequisites Checklist
- 5-Minute Setup
- Auth Server Selection
- Testing Different Flows
- Common Issues
- Development Mode
- Environment Variables
- Next Steps
- Getting Help
- Node.js >= 22.x installed
- npm installed
- IPification account credentials
npm installcp config/default.json.sample config/default.jsonFor a full field reference, see Sample Config Reference.
Edit config/default.json and add client configuration
npm start-
Open browser and navigate to:
http://localhost:3000 -
Select Auth Server (if multiple servers configured):
- A dropdown appears at the top of the page showing available auth servers (e.g., "stage", "live")
- Select the server you want to use for authentication
- Your selection is saved and persists across page reloads
-
Click "IP" button in PNV tab to test authentication
If you configured multiple auth servers in config/default.json, you can switch between them:
- Dropdown Location: Top of the login page, next to the logo
- Selection Persistence: Your choice is saved to browser localStorage
- Reload Behavior: The selected server remains active after page reload
- Per-Request: Each authentication request uses your selected server
Example Use Cases:
- Testing: Switch between
stageandliveservers without config changes - Development: Test against different environments easily
- Demo: Show different server behaviors to clients
Single Server: If only one server is configured, no dropdown appears - the app uses that server automatically.
- Go to PNV tab
- Enter phone number (optional for some flows)
- Click desired button:
- IP: Carrier-based verification
- IP+: Enhanced verification with mobile ID
- IM: Instant messaging verification
- SIM: SIM card verification
- Go to Login tab
- Click desired login method:
- IP: Carrier-based login
- IP+: Enhanced login
- IM: Instant messaging login
- SIM: SIM card login
- Go to Identity tab
- For Anonymous Identity: Click button directly
- For KYC Data: Enter phone number, then click "KYC"
Error: Port 3000 is already in use
Solution:
PORT=3001 npm startThen access: http://<your-ip>:3001
Error: Configuration error: auth_servers must be defined as an array in config
Solution:
- Ensure
auth_serversarray is defined inconfig/default.json - Must contain at least one server with
idandurlfields - See Sample Config Reference for proper format
Error: Client not found
Solution:
- Verify
config/default.jsonexists - Check that
user_flowmatches configuration - Ensure client credentials are correct
- Reference Sample Config Reference for required fields
Issue: Mobile device cannot reach the application
Solutions:
- Ensure desktop and mobile are on same network
- Check firewall settings
- Use machine's local IP (not
localhostor127.0.0.1) - Verify port is not blocked
Issue: Authentication redirects to error page
Solutions:
-
Verify
redirect_uriin IPification dashboard matches:http://localhost:3000/auth/callback/<user_flow>/<server_id>Example:
http://localhost:3000/auth/callback/pvn_ip/stage -
Check client_id and client_secret are correct
-
Verify scope permissions match client configuration
-
Ensure phone number format is E.164 (e.g.,
+1234567890) -
Confirm the selected auth server is accessible and properly configured
For development with auto-reload:
npm run devThis uses nodemon to automatically restart the server when files change.
Create a .env file for custom configuration:
PORT=3000
NODE_ENV=developmentSupported NODE_ENV values: development, stage, production.
- Read README.md for detailed documentation
- Check API.md for API endpoint details
- Review ARCHITECTURE.md for system design
- Explore different user flows in the application
- IPification Developer Portal: https://developer.ipification.com/
- IPification Website: https://www.ipification.com/
- Check application logs for detailed error messages