SecuGen Connect — Developer Guide
SecuGen Connect is the next-generation biometric bridge that replaces FDxSDK Pro, the legacy SecuGen WebAPI, and JSGFPLib. This guide covers the integration model, architectural layers, and the path to migrate existing applications with minimal code change.
Who this guide is for. Developers building new biometric features on SecuGen Connect, and teams migrating an existing FDxSDK / WebAPI / JSGFPLib application onto the new bridge.
1. Why SecuGen Connect
SecuGen Connect provides a single, cross-platform local bridge service. On mainstream Windows/Linux installs, it is available at http://127.0.0.1:4499, with HTTPS fallback where required. A web app, native app, or service integrates with this stable HTTP contract once. The same code then runs on Windows, macOS, Linux, and Android. The License Server manages server-side licensing, seat governance, and offline-grace for you.
Replaces three legacy SDKs
| Legacy SDK | Platform | Typical user |
|---|---|---|
| FDxSDK Pro | Windows (C / C++ / C# / Java) | Server & desktop native apps |
| SecuGen WebAPI | Windows (HTTP localhost:8000) | Browser-based apps |
| JSGFPLib | Browser (JavaScript) | Web frontends calling capture/match directly |
2. Architecture at a glance
SecuGen Connect is built in layers. Existing code talks to a thin compatibility wrapper. The wrapper talks to the canonical client. The canonical client talks to the local bridge. The bridge talks to the SecuGen device through a vendor adapter.
SecuGen Connect Bridge — http://127.0.0.1:4499
Design principles
- Minimize code change. Function names, callback patterns, and response shapes from the legacy SDKs are preserved by the wrappers wherever possible.
- Progressive migration. Add the shim today. Move to the canonical API later, on your own schedule.
- Single runtime. Every wrapper, on every platform, talks to the same Connect Bridge at
127.0.0.1:4499. - JavaScript / TypeScript first. Browser use is the most common case. The JS SDK is the reference implementation.
3. Quick start (web app)
- Discover the bridge.
SGDISC /v1/discover→ expect SecuGen Connect Protocol v1 metadata; keepGET /v1/healthas a legacy fallback. - Probe readiness.
GET /v1/health→ expectHTTP 200with{"ok":true}. - Start a session.
POST /v1/session/start→ returns a short-livedsessionToken(default TTL 60 s). - Capture a fingerprint.
POST /v1/fingerprint/capturewithAuthorization: Bearer <sessionToken>, a server-issuednonce, and template-format options. - Verify on your server. Send the returned template to your application backend and let it apply your authentication policy.
// Minimal sketch — see the dedicated bridge contract for full schemas
const discovery = await fetch('http://127.0.0.1:4499/v1/discover', {
method: 'SGDISC',
}).then(r => r.json());
if (discovery.protocol !== 'secugen-connect/1') throw new Error('wrong_bridge');
const health = await fetch('http://127.0.0.1:4499/v1/health').then(r => r.json());
if (!health.ok) throw new Error('bridge_not_running');
const session = await fetch('http://127.0.0.1:4499/v1/session/start', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ client: { name: 'demo', version: '1.0.0' } }),
}).then(r => r.json());
const cap = await fetch('http://127.0.0.1:4499/v1/fingerprint/capture', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${session.sessionToken}`,
},
body: JSON.stringify({
nonce: serverIssuedNonce,
timeoutMs: 10000,
minQuality: 50,
templateFormat: 'ANSI378',
smartCapture: true,
blinkLed: true,
touchGate: true,
}),
}).then(r => r.json());
if (cap.ok) postToServer(cap.templateBase64);
4. Migration paths
Existing WebAPI customers
Install Connect Bridge and keep the existing WebAPI calls. Its native HTTPS compatibility listener serves the legacy SGIFPCapture and SGIMatchScore contract on https://localhost:8443. This means existing capture and match callbacks continue to work without a shim or endpoint rewrite.
Existing FDxSDK Pro customers
Use the FDxSDK-style wrapper: the shared C API (Linux / macOS / Windows) or the Android JSGFPLib class, with Init / OpenDevice / GetImage / CreateTemplate / MatchTemplate / CloseDevice. The wrapper hides session management, authentication, and HTTP transport details.
Existing JSGFPLib customers
Load the JSGFPLib compatibility layer alongside the shim. The legacy globals (CallSGIFPCapture, CallSGIMatchScore, CheckSGConnect) are available with their original signatures, but internally they call Connect Bridge.
New customers
Use the canonical client @secugen/connect-sdk directly. It provides a typed, promise-based API. It is also the reference target that the wrappers translate to.
5. Where to go next
- Local Bridge API Contract — full endpoint schema, error codes, versioning policy.
- Browser Integration Guide — CORS, Private Network Access, HTTP loopback, HTTPS fallback, browser quirks.
- Native SDK Wrapper Guide — the shared C-API wrappers (Linux / macOS / Windows) and the Android Java wrapper for FDxSDK-style apps.