Skip to main content
Generate signed URLs server-side to initiate the consent flow. Each link is unique to a user and includes an HMAC signature for security.

URL structure

Required parameters

Optional parameters

Complete implementation

Do not ask end-users for uid or collect it in the frontend. Use your internal user id server-side or omit uid and store the generated callback uid. This prevents wrong-user data access and keeps identifiers private.

Usage examples

Express.js endpoint

FastAPI endpoint

  • Links are valid for 30 days from the timestamp
  • The same link parameters generate the same session (idempotent)
  • Expired links show an error page to users
Generate links on-demand rather than storing them. This ensures the timestamp is always fresh.

Signature algorithm

The signature ensures the link hasn’t been tampered with:
  1. Collect all URL parameters (except signature)
  2. Sort parameters alphabetically by key
  3. Join as key=value&key=value (raw values, not URL-encoded)
  4. Generate HMAC-SHA256 using your signing secret
  5. Append signature as hex string
The signature base uses raw parameter values, not URL-encoded values. URL encoding is only applied when constructing the final URL.