@transmitsecurity/platform-web-sdk 1.16.2 → 1.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -2
- package/README.md +69 -48
- package/dist/web-sdk-drs+idv+webauthn+ido.js +2 -2
- package/dist/web-sdk.d.ts +4 -16
- package/package.json +12 -13
- package/build/drs-entry.d.ts +0 -20
- package/build/drs-entry.js +0 -19
- package/build/drs-only.d.ts +0 -22
- package/build/drs-only.js +0 -25
- package/build/drs.d.ts +0 -28
- package/build/drs.js +0 -45
- package/build/ido/idoImpl.d.ts +0 -2
- package/build/ido/idoImpl.js +0 -4
- package/build/ido/index.d.ts +0 -7
- package/build/ido/index.js +0 -9
- package/build/ido-entry.d.ts +0 -17
- package/build/ido-entry.js +0 -19
- package/build/ido.d.ts +0 -18
- package/build/ido.js +0 -27
- package/build/idv-entry.d.ts +0 -17
- package/build/idv-entry.js +0 -19
- package/build/idv.d.ts +0 -18
- package/build/idv.js +0 -27
- package/build/initialize-only.d.ts +0 -7
- package/build/initialize-only.js +0 -40
- package/build/initialize.d.ts +0 -1
- package/build/initialize.js +0 -2
- package/build/mainExport.d.ts +0 -16
- package/build/mainExport.js +0 -43
- package/build/sdk-factory.d.ts +0 -109
- package/build/sdk-factory.js +0 -108
- package/build/shared-state.d.ts +0 -4
- package/build/shared-state.js +0 -32
- package/build/webauthn-entry.d.ts +0 -19
- package/build/webauthn-entry.js +0 -19
- package/build/webauthn.d.ts +0 -24
- package/build/webauthn.js +0 -44
- package/bundler-config.json +0 -14
- package/dist/docs/.nojekyll +0 -1
- package/dist/docs/README.md +0 -72
- package/dist/docs/enums/ErrorCode.md +0 -113
- package/dist/docs/interfaces/ActionEventOptions.md +0 -44
- package/dist/docs/interfaces/ActionResponse.md +0 -9
- package/dist/docs/interfaces/AuthenticationAutofillActivateHandlers.md +0 -61
- package/dist/docs/interfaces/AutofillHandlers.md +0 -50
- package/dist/docs/interfaces/CrossDeviceController.md +0 -27
- package/dist/docs/interfaces/SdkError.md +0 -28
- package/dist/docs/interfaces/WebauthnApis.md +0 -73
- package/dist/docs/interfaces/WebauthnAuthenticationFlows.md +0 -52
- package/dist/docs/interfaces/WebauthnCrossDeviceFlows.md +0 -107
- package/dist/docs/interfaces/WebauthnCrossDeviceRegistrationOptions.md +0 -23
- package/dist/docs/interfaces/WebauthnRegistrationOptions.md +0 -55
- package/dist/docs/interfaces/initConfigParams.md +0 -7
- package/dist/docs/modules/drs.md +0 -92
- package/dist/docs/modules/idv.md +0 -106
- package/dist/docs/modules/webauthn.md +0 -197
- package/dist/docs/modules.md +0 -146
- package/dist/drs.cjs +0 -1
- package/dist/drs.d.ts +0 -248
- package/dist/drs.js +0 -1
- package/dist/ido.cjs +0 -3
- package/dist/ido.d.ts +0 -57
- package/dist/ido.js +0 -3
- package/dist/idv.cjs +0 -1
- package/dist/idv.d.ts +0 -69
- package/dist/idv.js +0 -1
- package/dist/index.cjs +0 -3
- package/dist/index.esm.js +0 -3
- package/dist/index.umd.js +0 -3
- package/dist/ts-platform-websdk.js +0 -3
- package/dist/webauthn.cjs +0 -1
- package/dist/webauthn.d.ts +0 -463
- package/dist/webauthn.js +0 -1
- package/scripts/make-semver-aliases.sh +0 -11
- package/scripts/upload-dist.sh +0 -9
- package/src/mainExport.ts +0 -75
- package/src/tsconfig.json +0 -14
package/build/sdk-factory.d.ts
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
export interface DRSModule {
|
|
2
|
-
triggerActionEvent: (action: string, options: any) => Promise<any>;
|
|
3
|
-
setUser: (userId: string) => void;
|
|
4
|
-
clearUser: () => void;
|
|
5
|
-
}
|
|
6
|
-
export interface WebAuthnModule {
|
|
7
|
-
register: (options?: any) => Promise<any>;
|
|
8
|
-
authenticate: (options?: any) => Promise<any>;
|
|
9
|
-
isPlatformAuthenticatorSupported: () => Promise<boolean>;
|
|
10
|
-
isAutofillSupported: () => Promise<boolean>;
|
|
11
|
-
}
|
|
12
|
-
export interface IDVModule {
|
|
13
|
-
startVerification: (options: any) => Promise<any>;
|
|
14
|
-
getVerificationStatus: (sessionId: string) => Promise<any>;
|
|
15
|
-
}
|
|
16
|
-
export interface IDOModule {
|
|
17
|
-
executeFlow: (flowId: string, options?: any) => Promise<any>;
|
|
18
|
-
getFlowStatus: (executionId: string) => Promise<any>;
|
|
19
|
-
}
|
|
20
|
-
export interface SDKConfig {
|
|
21
|
-
clientId: string;
|
|
22
|
-
serverPath?: string;
|
|
23
|
-
drs?: {
|
|
24
|
-
serverPath?: string;
|
|
25
|
-
verbose?: boolean;
|
|
26
|
-
enableSessionToken?: boolean;
|
|
27
|
-
};
|
|
28
|
-
webauthn?: {
|
|
29
|
-
serverPath?: string;
|
|
30
|
-
};
|
|
31
|
-
idv?: {
|
|
32
|
-
serverPath?: string;
|
|
33
|
-
};
|
|
34
|
-
ido?: {
|
|
35
|
-
serverPath?: string;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 🚀 **NEXT-GENERATION SDK FACTORY**
|
|
40
|
-
*
|
|
41
|
-
* ✨ **Features:**
|
|
42
|
-
* - 🌳 **Perfect Tree-Shaking**: Individual entry points for each module
|
|
43
|
-
* - 📦 **No Module Bundling**: Modules loaded only when needed
|
|
44
|
-
* - 🎯 **TypeScript First**: Strong typing throughout
|
|
45
|
-
* - 🔄 **Static Imports**: Better for bundlers and tree-shaking
|
|
46
|
-
* - 🎛️ **Zero Config**: Sensible defaults
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```typescript
|
|
50
|
-
* // 📦 Use specialized imports for perfect tree-shaking
|
|
51
|
-
* import { WebSDK } from '@TransmitSecurity/web-sdk';
|
|
52
|
-
*
|
|
53
|
-
* // Only DRS will be bundled (~219KB vs 567KB)
|
|
54
|
-
* const sdk = await WebSDK.drs({
|
|
55
|
-
* clientId: 'your-client-id',
|
|
56
|
-
* serverPath: 'https://api.transmitsecurity.io'
|
|
57
|
-
* });
|
|
58
|
-
*
|
|
59
|
-
* await sdk.triggerActionEvent('login', {...});
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
export declare class WebSDK {
|
|
63
|
-
/**
|
|
64
|
-
* 🎯 **DRS (Device Risk & Security)** (~219KB bundle)
|
|
65
|
-
* Perfect for fraud detection and risk assessment
|
|
66
|
-
*/
|
|
67
|
-
static drs(config: SDKConfig & {
|
|
68
|
-
drs?: SDKConfig['drs'];
|
|
69
|
-
}): Promise<any>;
|
|
70
|
-
/**
|
|
71
|
-
* 🔐 **WebAuthn (Passwordless Authentication)** (~75KB bundle)
|
|
72
|
-
* Perfect for passwordless authentication
|
|
73
|
-
*/
|
|
74
|
-
static webauthn(config: SDKConfig & {
|
|
75
|
-
webauthn?: SDKConfig['webauthn'];
|
|
76
|
-
}): Promise<any>;
|
|
77
|
-
/**
|
|
78
|
-
* 🆔 **IDV (Identity Verification)** (~589KB bundle)
|
|
79
|
-
* Perfect for identity verification flows
|
|
80
|
-
*/
|
|
81
|
-
static idv(config: SDKConfig & {
|
|
82
|
-
idv?: SDKConfig['idv'];
|
|
83
|
-
}): Promise<any>;
|
|
84
|
-
/**
|
|
85
|
-
* 🔄 **IDO (Identity Orchestration)** (~2KB bundle)
|
|
86
|
-
* Perfect for orchestration workflows
|
|
87
|
-
*/
|
|
88
|
-
static ido(config: SDKConfig & {
|
|
89
|
-
ido?: SDKConfig['ido'];
|
|
90
|
-
}): Promise<any>;
|
|
91
|
-
/**
|
|
92
|
-
* 🎛️ **Multi-Module SDK** (~5KB core + modules on-demand)
|
|
93
|
-
* Perfect for progressive loading and complex applications
|
|
94
|
-
*/
|
|
95
|
-
static create(config: SDKConfig): Promise<{
|
|
96
|
-
isInitialized: boolean;
|
|
97
|
-
config: SDKConfig;
|
|
98
|
-
drs: any;
|
|
99
|
-
loadDRS(): Promise<any>;
|
|
100
|
-
loadWebAuthn(): Promise<any>;
|
|
101
|
-
loadIDV(): Promise<any>;
|
|
102
|
-
loadIDO(): Promise<any>;
|
|
103
|
-
}>;
|
|
104
|
-
}
|
|
105
|
-
export declare const createDRSSDK: typeof WebSDK.drs;
|
|
106
|
-
export declare const createWebAuthnSDK: typeof WebSDK.webauthn;
|
|
107
|
-
export declare const createIDVSDK: typeof WebSDK.idv;
|
|
108
|
-
export declare const createIDOSDK: typeof WebSDK.ido;
|
|
109
|
-
export declare const createSDK: typeof WebSDK.create;
|
package/build/sdk-factory.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
// 🚀 Next-Generation SDK Factory
|
|
2
|
-
// Ultra-lightweight factories with perfect tree-shaking
|
|
3
|
-
import { initialize } from './initialize-only';
|
|
4
|
-
// Import individual entry points for perfect tree-shaking
|
|
5
|
-
import { createDRS } from './drs-entry';
|
|
6
|
-
import { createWebAuthn } from './webauthn-entry';
|
|
7
|
-
import { createIDV } from './idv-entry';
|
|
8
|
-
import { createIDO } from './ido-entry';
|
|
9
|
-
/**
|
|
10
|
-
* 🚀 **NEXT-GENERATION SDK FACTORY**
|
|
11
|
-
*
|
|
12
|
-
* ✨ **Features:**
|
|
13
|
-
* - 🌳 **Perfect Tree-Shaking**: Individual entry points for each module
|
|
14
|
-
* - 📦 **No Module Bundling**: Modules loaded only when needed
|
|
15
|
-
* - 🎯 **TypeScript First**: Strong typing throughout
|
|
16
|
-
* - 🔄 **Static Imports**: Better for bundlers and tree-shaking
|
|
17
|
-
* - 🎛️ **Zero Config**: Sensible defaults
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* // 📦 Use specialized imports for perfect tree-shaking
|
|
22
|
-
* import { WebSDK } from '@TransmitSecurity/web-sdk';
|
|
23
|
-
*
|
|
24
|
-
* // Only DRS will be bundled (~219KB vs 567KB)
|
|
25
|
-
* const sdk = await WebSDK.drs({
|
|
26
|
-
* clientId: 'your-client-id',
|
|
27
|
-
* serverPath: 'https://api.transmitsecurity.io'
|
|
28
|
-
* });
|
|
29
|
-
*
|
|
30
|
-
* await sdk.triggerActionEvent('login', {...});
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
// 🎯 **MAIN SDK CLASS** - Clean, intuitive API
|
|
34
|
-
export class WebSDK {
|
|
35
|
-
/**
|
|
36
|
-
* 🎯 **DRS (Device Risk & Security)** (~219KB bundle)
|
|
37
|
-
* Perfect for fraud detection and risk assessment
|
|
38
|
-
*/
|
|
39
|
-
static async drs(config) {
|
|
40
|
-
return await createDRS(config);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* 🔐 **WebAuthn (Passwordless Authentication)** (~75KB bundle)
|
|
44
|
-
* Perfect for passwordless authentication
|
|
45
|
-
*/
|
|
46
|
-
static async webauthn(config) {
|
|
47
|
-
return await createWebAuthn(config);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* 🆔 **IDV (Identity Verification)** (~589KB bundle)
|
|
51
|
-
* Perfect for identity verification flows
|
|
52
|
-
*/
|
|
53
|
-
static async idv(config) {
|
|
54
|
-
return await createIDV(config);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* 🔄 **IDO (Identity Orchestration)** (~2KB bundle)
|
|
58
|
-
* Perfect for orchestration workflows
|
|
59
|
-
*/
|
|
60
|
-
static async ido(config) {
|
|
61
|
-
return await createIDO(config);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* 🎛️ **Multi-Module SDK** (~5KB core + modules on-demand)
|
|
65
|
-
* Perfect for progressive loading and complex applications
|
|
66
|
-
*/
|
|
67
|
-
static async create(config) {
|
|
68
|
-
// ✅ Validation
|
|
69
|
-
if (!config.clientId) {
|
|
70
|
-
throw new Error('❌ clientId is required');
|
|
71
|
-
}
|
|
72
|
-
// 🔧 Initialize core
|
|
73
|
-
await initialize(config);
|
|
74
|
-
// 🌳 Load DRS by default if configured
|
|
75
|
-
let drsModule = null;
|
|
76
|
-
if (config.drs) {
|
|
77
|
-
drsModule = await createDRS(config);
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
isInitialized: true,
|
|
81
|
-
config: config,
|
|
82
|
-
// 🔄 Direct module access (only DRS loaded by default)
|
|
83
|
-
drs: drsModule,
|
|
84
|
-
// 🔄 Lazy load methods for other modules
|
|
85
|
-
async loadDRS() {
|
|
86
|
-
if (!drsModule) {
|
|
87
|
-
drsModule = await createDRS(config);
|
|
88
|
-
}
|
|
89
|
-
return drsModule;
|
|
90
|
-
},
|
|
91
|
-
async loadWebAuthn() {
|
|
92
|
-
return await createWebAuthn(config);
|
|
93
|
-
},
|
|
94
|
-
async loadIDV() {
|
|
95
|
-
return await createIDV(config);
|
|
96
|
-
},
|
|
97
|
-
async loadIDO() {
|
|
98
|
-
return await createIDO(config);
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// 🔄 **LEGACY COMPATIBILITY** - Keep old exports working
|
|
104
|
-
export const createDRSSDK = WebSDK.drs;
|
|
105
|
-
export const createWebAuthnSDK = WebSDK.webauthn;
|
|
106
|
-
export const createIDVSDK = WebSDK.idv;
|
|
107
|
-
export const createIDOSDK = WebSDK.ido;
|
|
108
|
-
export const createSDK = WebSDK.create;
|
package/build/shared-state.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function initialize(params: any): void;
|
|
2
|
-
export { getInitConfig } from '@transmit-security/web-sdk-common/dist/module-metadata/module-metadata';
|
|
3
|
-
export { emit, on, off } from '@transmit-security/web-sdk-common/dist/events';
|
|
4
|
-
export { MODULE_INITIALIZED } from '@transmit-security/web-sdk-common/dist/events';
|
package/build/shared-state.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Shared state manager for the Web SDK
|
|
2
|
-
// This ensures all modules can access the same initialization state
|
|
3
|
-
import { setInitConfig } from '@transmit-security/web-sdk-common/dist/module-metadata/module-metadata';
|
|
4
|
-
import { emit } from '@transmit-security/web-sdk-common/dist/events';
|
|
5
|
-
import { MODULE_INITIALIZED } from '@transmit-security/web-sdk-common/dist/events';
|
|
6
|
-
// Browser Environment Validation (run once globally)
|
|
7
|
-
(function validateBrowserEnvironment() {
|
|
8
|
-
var _a, _b;
|
|
9
|
-
const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
|
|
10
|
-
const isNode = typeof globalThis !== 'undefined' &&
|
|
11
|
-
typeof globalThis.process !== 'undefined' &&
|
|
12
|
-
((_b = (_a = globalThis.process) === null || _a === void 0 ? void 0 : _a.versions) === null || _b === void 0 ? void 0 : _b.node);
|
|
13
|
-
if (isNode && !isBrowser) {
|
|
14
|
-
throw new Error('\n🚫 @TransmitSecurity/web-sdk is a BROWSER-ONLY package.\n\n' +
|
|
15
|
-
'❌ Node.js environments are not supported.\n' +
|
|
16
|
-
'✅ Use this package in web browsers only.\n\n' +
|
|
17
|
-
'For more information, visit: https://github.com/transmitsecurity-dev/ciam-web-sdk#browser-only\n');
|
|
18
|
-
}
|
|
19
|
-
if (!isBrowser) {
|
|
20
|
-
console.warn('⚠️ @TransmitSecurity/web-sdk: Browser environment not detected. ' +
|
|
21
|
-
'Some features may not work correctly.');
|
|
22
|
-
}
|
|
23
|
-
})();
|
|
24
|
-
// Global initialization function that all modules can use
|
|
25
|
-
export function initialize(params) {
|
|
26
|
-
setInitConfig(params);
|
|
27
|
-
emit(MODULE_INITIALIZED, undefined);
|
|
28
|
-
}
|
|
29
|
-
// Export utilities for modules to check initialization state
|
|
30
|
-
export { getInitConfig } from '@transmit-security/web-sdk-common/dist/module-metadata/module-metadata';
|
|
31
|
-
export { emit, on, off } from '@transmit-security/web-sdk-common/dist/events';
|
|
32
|
-
export { MODULE_INITIALIZED } from '@transmit-security/web-sdk-common/dist/events';
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export interface WebAuthnModule {
|
|
2
|
-
register: (options?: any) => Promise<any>;
|
|
3
|
-
authenticate: (options?: any) => Promise<any>;
|
|
4
|
-
isPlatformAuthenticatorSupported: () => Promise<boolean>;
|
|
5
|
-
isAutofillSupported: () => Promise<boolean>;
|
|
6
|
-
}
|
|
7
|
-
export interface SDKConfig {
|
|
8
|
-
clientId: string;
|
|
9
|
-
serverPath?: string;
|
|
10
|
-
webauthn?: {
|
|
11
|
-
serverPath?: string;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 🔐 **WebAuthn (Passwordless Authentication)** (~75KB bundle)
|
|
16
|
-
* Perfect for passwordless authentication
|
|
17
|
-
*/
|
|
18
|
-
export declare function createWebAuthn(config: SDKConfig): Promise<any>;
|
|
19
|
-
export { createWebAuthn as webauthn };
|
package/build/webauthn-entry.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// 🔐 WebAuthn-Only Entry Point for Perfect Tree-Shaking
|
|
2
|
-
import { initialize } from './initialize-only';
|
|
3
|
-
import * as webauthnModule from './webauthn';
|
|
4
|
-
/**
|
|
5
|
-
* 🔐 **WebAuthn (Passwordless Authentication)** (~75KB bundle)
|
|
6
|
-
* Perfect for passwordless authentication
|
|
7
|
-
*/
|
|
8
|
-
export async function createWebAuthn(config) {
|
|
9
|
-
// ✅ Validation
|
|
10
|
-
if (!config.clientId) {
|
|
11
|
-
throw new Error('❌ clientId is required');
|
|
12
|
-
}
|
|
13
|
-
// 🔧 Initialize core
|
|
14
|
-
await initialize(config);
|
|
15
|
-
// 🔄 Return WebAuthn module
|
|
16
|
-
return webauthnModule;
|
|
17
|
-
}
|
|
18
|
-
// Export for WebSDK class compatibility
|
|
19
|
-
export { createWebAuthn as webauthn };
|
package/build/webauthn.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
interface Window {
|
|
3
|
-
__TS_WEB_SDK_INITIALIZED__?: boolean;
|
|
4
|
-
__TS_WEB_SDK_CONFIG__?: any;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export { initialize } from './initialize-only';
|
|
8
|
-
export * from '@transmit-security/authentication-sdk';
|
|
9
|
-
export declare const authenticate: (...args: any[]) => any;
|
|
10
|
-
export declare const register: (...args: any[]) => any;
|
|
11
|
-
export declare const crossDevice: (...args: any[]) => any;
|
|
12
|
-
export type { authenticate as authenticateType, WebauthnApis, WebauthnAuthenticationFlows, AutofillHandlers, AuthenticationAutofillActivateHandlers, WebauthnRegistrationOptions, isAutofillSupported, SdkError, ErrorCode, isPlatformAuthenticatorSupported, register as registerType, crossDevice as crossDeviceType, CrossDeviceController, WebauthnCrossDeviceRegistrationOptions, WebauthnCrossDeviceFlows, getDefaultPaths } from '@transmit-security/authentication-sdk';
|
|
13
|
-
|
|
14
|
-
// Default export for better TypeScript support
|
|
15
|
-
declare const webauthn: {
|
|
16
|
-
initialize: typeof initialize;
|
|
17
|
-
authenticate: (...args: any[]) => any;
|
|
18
|
-
register: (...args: any[]) => any;
|
|
19
|
-
crossDevice: (...args: any[]) => any;
|
|
20
|
-
isPlatformAuthenticatorSupported: (...args: any[]) => any;
|
|
21
|
-
isAutofillSupported: (...args: any[]) => any;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export default webauthn;
|
package/build/webauthn.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// WebAuthn module - clean entry point with global state awareness
|
|
2
|
-
import { setInitConfig, getInitConfig } from '@transmit-security/web-sdk-common/dist/module-metadata/module-metadata';
|
|
3
|
-
import { emit } from '@transmit-security/web-sdk-common/dist/events';
|
|
4
|
-
import { MODULE_INITIALIZED } from '@transmit-security/web-sdk-common/dist/events';
|
|
5
|
-
// Function to sync global initialization state when needed
|
|
6
|
-
function ensureInitialized() {
|
|
7
|
-
if (typeof window !== 'undefined' && window.__TS_WEB_SDK_INITIALIZED__ && window.__TS_WEB_SDK_CONFIG__) {
|
|
8
|
-
try {
|
|
9
|
-
const currentConfig = getInitConfig();
|
|
10
|
-
if (!currentConfig || !currentConfig.clientId) {
|
|
11
|
-
console.log('🔄 Syncing global initialization state to WebAuthn module');
|
|
12
|
-
setInitConfig(window.__TS_WEB_SDK_CONFIG__);
|
|
13
|
-
emit(MODULE_INITIALIZED, undefined);
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
// If getInitConfig fails, it means common module is not initialized
|
|
20
|
-
console.log('🔄 Initializing WebAuthn module with global state');
|
|
21
|
-
setInitConfig(window.__TS_WEB_SDK_CONFIG__);
|
|
22
|
-
emit(MODULE_INITIALIZED, undefined);
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
// Import the original WebAuthn SDK
|
|
29
|
-
import * as originalWebAuthn from '@transmit-security/authentication-sdk';
|
|
30
|
-
// Create wrapper functions for the main WebAuthn methods
|
|
31
|
-
function wrapWebAuthnMethod(methodName, originalMethod) {
|
|
32
|
-
return function (...args) {
|
|
33
|
-
ensureInitialized();
|
|
34
|
-
return originalMethod.apply(originalWebAuthn, args);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
// Re-export initialize to ensure shared state
|
|
38
|
-
export { initialize } from './initialize-only';
|
|
39
|
-
// Export all WebAuthn functionality (re-export everything)
|
|
40
|
-
export * from '@transmit-security/authentication-sdk';
|
|
41
|
-
// Override the main methods with wrapped versions (if they exist)
|
|
42
|
-
export const authenticate = originalWebAuthn.authenticate ? wrapWebAuthnMethod('authenticate', originalWebAuthn.authenticate) : originalWebAuthn.authenticate;
|
|
43
|
-
export const register = originalWebAuthn.register ? wrapWebAuthnMethod('register', originalWebAuthn.register) : originalWebAuthn.register;
|
|
44
|
-
export const crossDevice = originalWebAuthn.crossDevice ? wrapWebAuthnMethod('crossDevice', originalWebAuthn.crossDevice) : originalWebAuthn.crossDevice;
|
package/bundler-config.json
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"exports": {
|
|
3
|
-
"drs": "@transmit-security/riskid_sdk",
|
|
4
|
-
"idv": "@transmit-security/ts-identity-verification",
|
|
5
|
-
"webauthn": "@transmit-security/authentication-sdk",
|
|
6
|
-
"ido": "@transmit-security/ido-web-sdk"
|
|
7
|
-
},
|
|
8
|
-
"exportsFromDefault": {},
|
|
9
|
-
"mainExport": "./build/mainExport",
|
|
10
|
-
"declarations": true,
|
|
11
|
-
"docs": true,
|
|
12
|
-
"minify": true,
|
|
13
|
-
"legacyBrowsers": true
|
|
14
|
-
}
|
package/dist/docs/.nojekyll
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
package/dist/docs/README.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# Transmit Security Platform Web SDK
|
|
2
|
-
|
|
3
|
-
A comprehensive browser-based identity and security solution for integrating with Mosaic's Fraud Prevention, WebAuthn authentication, Identity Verification, and Orchestration capabilities.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @transmitsecurity/platform-web-sdk@^1
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Quick Start
|
|
12
|
-
|
|
13
|
-
### Individual Module Imports (Recommended)
|
|
14
|
-
|
|
15
|
-
✅ **Recommended**: Import only the modules you need for optimal bundle size and faster loading.
|
|
16
|
-
|
|
17
|
-
```js
|
|
18
|
-
import { drs, initialize } from '@transmitsecurity/platform-web-sdk/drs';
|
|
19
|
-
import { webauthn } from '@transmitsecurity/platform-web-sdk/webauthn';
|
|
20
|
-
|
|
21
|
-
await initialize({
|
|
22
|
-
clientId: 'your-client-id',
|
|
23
|
-
drs: { serverPath: 'https://api.transmitsecurity.io/risk-collect/' },
|
|
24
|
-
webauthn: { serverPath: 'https://api.transmitsecurity.io' }
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// Use the modules
|
|
28
|
-
await drs.triggerActionEvent('login', { correlationId: 'example' });
|
|
29
|
-
const isSupported = await webauthn.isPlatformAuthenticatorSupported();
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Available individual imports**:
|
|
33
|
-
```js
|
|
34
|
-
// Fraud Prevention (DRS)
|
|
35
|
-
import { drs, initialize } from '@transmitsecurity/platform-web-sdk/drs';
|
|
36
|
-
|
|
37
|
-
// WebAuthn Authentication
|
|
38
|
-
import { webauthn, initialize } from '@transmitsecurity/platform-web-sdk/webauthn';
|
|
39
|
-
|
|
40
|
-
// Identity Verification (IDV)
|
|
41
|
-
import { idv, initialize } from '@transmitsecurity/platform-web-sdk/idv';
|
|
42
|
-
|
|
43
|
-
// Identity Orchestration (IDO)
|
|
44
|
-
import { ido, initialize } from '@transmitsecurity/platform-web-sdk/ido';
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Full SDK Import
|
|
48
|
-
|
|
49
|
-
Import the entire SDK if you need multiple modules or prefer a single import.
|
|
50
|
-
|
|
51
|
-
```js
|
|
52
|
-
import { drs, webauthn, idv, ido, initialize } from '@transmitsecurity/platform-web-sdk';
|
|
53
|
-
|
|
54
|
-
// Single initialize call for all modules
|
|
55
|
-
await initialize({
|
|
56
|
-
clientId: 'your-client-id',
|
|
57
|
-
drs: { serverPath: 'https://api.transmitsecurity.io/risk-collect/' },
|
|
58
|
-
webauthn: { serverPath: 'https://api.transmitsecurity.io' }
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
// Use the modules
|
|
62
|
-
await drs.triggerActionEvent('login', { correlationId: 'example' });
|
|
63
|
-
const isSupported = await webauthn.isPlatformAuthenticatorSupported();
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Documentation
|
|
67
|
-
|
|
68
|
-
For complete documentation, visit: https://developer.transmitsecurity.com/sdk-ref/sdk_ref_intro/
|
|
69
|
-
|
|
70
|
-
I## License
|
|
71
|
-
|
|
72
|
-
SEE LICENSE IN LICENSE
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# Enumeration: ErrorCode
|
|
2
|
-
|
|
3
|
-
## Enumeration Members
|
|
4
|
-
|
|
5
|
-
### NotInitialized
|
|
6
|
-
|
|
7
|
-
• **NotInitialized** = ``"not_initialized"``
|
|
8
|
-
|
|
9
|
-
Either the SDK init call failed or another function was called before initializing the SDK
|
|
10
|
-
|
|
11
|
-
___
|
|
12
|
-
|
|
13
|
-
### AuthenticationFailed
|
|
14
|
-
|
|
15
|
-
• **AuthenticationFailed** = ``"authentication_failed"``
|
|
16
|
-
|
|
17
|
-
When the call to [startAuthentication](../interfaces/WebauthnApis.md#startauthentication) failed
|
|
18
|
-
|
|
19
|
-
___
|
|
20
|
-
|
|
21
|
-
### AuthenticationAbortedTimeout
|
|
22
|
-
|
|
23
|
-
• **AuthenticationAbortedTimeout** = ``"authentication_aborted_timeout"``
|
|
24
|
-
|
|
25
|
-
When [authenticate.modal](../interfaces/WebauthnAuthenticationFlows.md#modal) or [authenticate.autofill.activate](../interfaces/AutofillHandlers.md#activate) is called and the modal is closed by the user
|
|
26
|
-
|
|
27
|
-
___
|
|
28
|
-
|
|
29
|
-
### AuthenticationCanceled
|
|
30
|
-
|
|
31
|
-
• **AuthenticationCanceled** = ``"webauthn_authentication_canceled"``
|
|
32
|
-
|
|
33
|
-
When [register](../modules.md#register) is called and the modal is closed when reaching the timeout
|
|
34
|
-
|
|
35
|
-
___
|
|
36
|
-
|
|
37
|
-
### RegistrationFailed
|
|
38
|
-
|
|
39
|
-
• **RegistrationFailed** = ``"registration_failed"``
|
|
40
|
-
|
|
41
|
-
When the call to [startRegistration](../interfaces/WebauthnApis.md#startregistration) failed
|
|
42
|
-
|
|
43
|
-
___
|
|
44
|
-
|
|
45
|
-
### AlreadyRegistered
|
|
46
|
-
|
|
47
|
-
• **AlreadyRegistered** = ``"username_already_registered"``
|
|
48
|
-
|
|
49
|
-
/ When The user attempted to register an authenticator that contains one of the credentials already registered with the relying party.
|
|
50
|
-
|
|
51
|
-
___
|
|
52
|
-
|
|
53
|
-
### RegistrationAbortedTimeout
|
|
54
|
-
|
|
55
|
-
• **RegistrationAbortedTimeout** = ``"registration_aborted_timeout"``
|
|
56
|
-
|
|
57
|
-
When [register](../modules.md#register) is called and the modal is closed by the user
|
|
58
|
-
|
|
59
|
-
___
|
|
60
|
-
|
|
61
|
-
### RegistrationCanceled
|
|
62
|
-
|
|
63
|
-
• **RegistrationCanceled** = ``"webauthn_registration_canceled"``
|
|
64
|
-
|
|
65
|
-
When [register](../modules.md#register) is called and the modal is closed when reaching the timeout
|
|
66
|
-
|
|
67
|
-
___
|
|
68
|
-
|
|
69
|
-
### AutofillAuthenticationAborted
|
|
70
|
-
|
|
71
|
-
• **AutofillAuthenticationAborted** = ``"autofill_authentication_aborted"``
|
|
72
|
-
|
|
73
|
-
Passkey autofill authentication was aborted by [abort](../interfaces/AutofillHandlers.md#abort)
|
|
74
|
-
|
|
75
|
-
___
|
|
76
|
-
|
|
77
|
-
### AuthenticationProcessAlreadyActive
|
|
78
|
-
|
|
79
|
-
• **AuthenticationProcessAlreadyActive** = ``"authentication_process_already_active"``
|
|
80
|
-
|
|
81
|
-
Passkey authentication is already active. To start a new authentication, abort the current one first by calling [abort](../interfaces/AutofillHandlers.md#abort)
|
|
82
|
-
|
|
83
|
-
___
|
|
84
|
-
|
|
85
|
-
### InvalidApprovalData
|
|
86
|
-
|
|
87
|
-
• **InvalidApprovalData** = ``"invalid_approval_data"``
|
|
88
|
-
|
|
89
|
-
The ApprovalData parameter was sent in the wrong format
|
|
90
|
-
|
|
91
|
-
___
|
|
92
|
-
|
|
93
|
-
### FailedToInitCrossDeviceSession
|
|
94
|
-
|
|
95
|
-
• **FailedToInitCrossDeviceSession** = ``"cross_device_init_failed"``
|
|
96
|
-
|
|
97
|
-
When the call to [initCrossDeviceAuthentication](../interfaces/WebauthnApis.md#initcrossdeviceauthentication) failed
|
|
98
|
-
|
|
99
|
-
___
|
|
100
|
-
|
|
101
|
-
### FailedToGetCrossDeviceStatus
|
|
102
|
-
|
|
103
|
-
• **FailedToGetCrossDeviceStatus** = ``"cross_device_status_failed"``
|
|
104
|
-
|
|
105
|
-
When the call to [getCrossDeviceTicketStatus](../interfaces/WebauthnApis.md#getcrossdeviceticketstatus) failed
|
|
106
|
-
|
|
107
|
-
___
|
|
108
|
-
|
|
109
|
-
### Unknown
|
|
110
|
-
|
|
111
|
-
• **Unknown** = ``"unknown"``
|
|
112
|
-
|
|
113
|
-
When the SDK operation fails on an unhandled error
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Interface: ActionEventOptions
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
### correlationId
|
|
6
|
-
|
|
7
|
-
• `Optional` **correlationId**: `string`
|
|
8
|
-
|
|
9
|
-
Any ID that could help relate the action with external context or session
|
|
10
|
-
|
|
11
|
-
___
|
|
12
|
-
|
|
13
|
-
### claimedUserId
|
|
14
|
-
|
|
15
|
-
• `Optional` **claimedUserId**: `string`
|
|
16
|
-
|
|
17
|
-
User ID of the not yet authenticated user, used to enhance risk and
|
|
18
|
-
trust assessments. Once the user is authenticated,
|
|
19
|
-
TSAccountProtection.setAuthenticatedUser should be called.
|
|
20
|
-
|
|
21
|
-
___
|
|
22
|
-
|
|
23
|
-
### claimedUserIdType
|
|
24
|
-
|
|
25
|
-
• `Optional` **claimedUserIdType**: `string`
|
|
26
|
-
|
|
27
|
-
The reported claimedUserId type (if provided), should not contain PII unless it is hashed.
|
|
28
|
-
Supported values: email, phone_number, account_id, ssn, national_id, passport_number, drivers_license_number, other.
|
|
29
|
-
|
|
30
|
-
___
|
|
31
|
-
|
|
32
|
-
### transactionData
|
|
33
|
-
|
|
34
|
-
• `Optional` **transactionData**: `TransactionData`
|
|
35
|
-
|
|
36
|
-
A transaction data-points object for transaction-monitoring
|
|
37
|
-
|
|
38
|
-
___
|
|
39
|
-
|
|
40
|
-
### customAttributes
|
|
41
|
-
|
|
42
|
-
• `Optional` **customAttributes**: `Record`<`string`, `string` \| `number` \| `boolean`\>
|
|
43
|
-
|
|
44
|
-
Custom attributes matching the schema previously defined in the Admin Portal
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Interface: AuthenticationAutofillActivateHandlers
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
### onSuccess
|
|
6
|
-
|
|
7
|
-
• **onSuccess**: (`webauthn_encoded_result`: `string`) => `Promise`<`void`\>
|
|
8
|
-
|
|
9
|
-
#### Type declaration
|
|
10
|
-
|
|
11
|
-
▸ (`webauthn_encoded_result`): `Promise`<`void`\>
|
|
12
|
-
|
|
13
|
-
A Callback function that will be triggered once biometrics signing is completed successfully.
|
|
14
|
-
|
|
15
|
-
##### Parameters
|
|
16
|
-
|
|
17
|
-
| Name | Type |
|
|
18
|
-
| :------ | :------ |
|
|
19
|
-
| `webauthn_encoded_result` | `string` |
|
|
20
|
-
|
|
21
|
-
##### Returns
|
|
22
|
-
|
|
23
|
-
`Promise`<`void`\>
|
|
24
|
-
|
|
25
|
-
___
|
|
26
|
-
|
|
27
|
-
### onError
|
|
28
|
-
|
|
29
|
-
• `Optional` **onError**: (`err`: [`SdkError`](SdkError.md)) => `Promise`<`void`\>
|
|
30
|
-
|
|
31
|
-
#### Type declaration
|
|
32
|
-
|
|
33
|
-
▸ (`err`): `Promise`<`void`\>
|
|
34
|
-
|
|
35
|
-
A Callback function that will be triggered if authentication fails with an SdkError.
|
|
36
|
-
|
|
37
|
-
##### Parameters
|
|
38
|
-
|
|
39
|
-
| Name | Type |
|
|
40
|
-
| :------ | :------ |
|
|
41
|
-
| `err` | [`SdkError`](SdkError.md) |
|
|
42
|
-
|
|
43
|
-
##### Returns
|
|
44
|
-
|
|
45
|
-
`Promise`<`void`\>
|
|
46
|
-
|
|
47
|
-
___
|
|
48
|
-
|
|
49
|
-
### onReady
|
|
50
|
-
|
|
51
|
-
• `Optional` **onReady**: () => `void`
|
|
52
|
-
|
|
53
|
-
#### Type declaration
|
|
54
|
-
|
|
55
|
-
▸ (): `void`
|
|
56
|
-
|
|
57
|
-
A Callback function that will be triggered when challenge excepted from the service and autofill is ready to use.
|
|
58
|
-
|
|
59
|
-
##### Returns
|
|
60
|
-
|
|
61
|
-
`void`
|