@transmitsecurity/platform-web-sdk
Version:
Transmit Security Web SDK - Browser-only authentication and identity verification
101 lines (81 loc) • 3.55 kB
Markdown
# Transmit Security Platform Web SDK
A comprehensive browser-based identity and security solution with fraud prevention, WebAuthn authentication, identity verification, and orchestration capabilities.
## Installation
### NPM Package (Recommended)
```bash
npm install @transmitsecurity/platform-web-sdk
```
## Usage Patterns
#### Individual Module Imports (Recommended)
For optimal bundle sizes and performance, import only the modules you need:
```javascript
// Option 1: Individual function imports (best for tree-shaking)
import { triggerActionEvent, setUser, clearUser, initialize } from '@transmitsecurity/platform-web-sdk/drs';
import { isPlatformAuthenticatorSupported, register } from '@transmitsecurity/platform-web-sdk/webauthn';
import { start } from '@transmitsecurity/platform-web-sdk/idv';
// Use modules (syntax depends on import method)
// Option 1: Direct function calls
await triggerActionEvent('login', { correlationId: 'example' });
await setUser({ userId: 'user123' });
const isSupported = await isPlatformAuthenticatorSupported();
// Option 2: Namespace calls
await drs.triggerActionEvent('login', { correlationId: 'example' });
await drs.setUser({ userId: 'user123' });
const isSupported = await webauthn.isPlatformAuthenticatorSupported();
```
```javascript
import { ido, ClientResponseOptionType } from '@transmitsecurity/platform-web-sdk/ido';
import { initialize } from '@transmitsecurity/platform-web-sdk';
// Initialize
await initialize({
clientId: 'your-client-id',
ido: { serverPath: 'https://api.transmitsecurity.io' }
});
// IDO usage
await ido.startJourney('journey-id');
await ido.submitClientResponse(
ClientResponseOptionType.ClientInput,
{ userEmail: 'user@example.com' }
);
```
#### TypeScript Support
Full TypeScript support with individual module imports:
```typescript
import { triggerActionEvent, setUser } from '@transmitsecurity/platform-web-sdk/drs';
import { isPlatformAuthenticatorSupported } from '@transmitsecurity/platform-web-sdk/webauthn';
import { start } from '@transmitsecurity/platform-web-sdk/idv';
import { ido } from '@transmitsecurity/platform-web-sdk/ido';
import { initialize } from '@transmitsecurity/platform-web-sdk';
// Initialize with TypeScript types
await initialize({
clientId: 'your-client-id',
drs: { serverPath: 'https://api.transmitsecurity.io/risk-collect/' },
webauthn: { serverPath: 'https://api.transmitsecurity.io' },
idv: { serverPath: 'https://api.transmitsecurity.io' },
ido: {
serverPath: 'https://api.transmitsecurity.io',
}
});
// Use with proper TypeScript types
await triggerActionEvent('login', { correlationId: 'example' });
const isSupported: boolean = await isPlatformAuthenticatorSupported();
await ido.default.submitClientResponse(
ClientResponseOptionType.ClientInput,
{ userEmail: 'user@example.com' }
);
```
#### Full SDK Import (Alternative)
If you need multiple modules, you can also import the full SDK:
```javascript
import { drs, webauthn, idv, ido, initialize } from '@transmitsecurity/platform-web-sdk';
// Single initialize call for all modules
await initialize({
clientId: 'your-client-id',
drs: { serverPath: 'https://api.transmitsecurity.io/risk-collect/' },
webauthn: { serverPath: 'https://api.transmitsecurity.io' },
idv: { serverPath: 'https://api.transmitsecurity.io' },
ido: { serverPath: 'https://api.transmitsecurity.io' }
});
// Use modules through the main object
await drs.triggerActionEvent('login', { correlationId: 'example' });
```