@dynamic-labs-sdk/client 0.1.0-alpha.1 → 0.1.0-alpha.3
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 +8 -0
- package/getChainFromVerifiedCredentialChain.cjs.js +1 -1
- package/getChainFromVerifiedCredentialChain.esm.js +1 -1
- package/index.cjs.js +56 -44
- package/index.esm.js +55 -43
- package/package.json +2 -2
- package/refreshUser.cjs.js +2 -23
- package/refreshUser.esm.js +2 -23
- package/src/client/core/createCore/getInitialState.d.ts.map +1 -1
- package/src/exports/index.d.ts +3 -3
- package/src/exports/index.d.ts.map +1 -1
- package/src/modules/auth/events.d.ts +1 -7
- package/src/modules/auth/events.d.ts.map +1 -1
- package/src/modules/auth/logout/logout.d.ts.map +1 -1
- package/src/modules/auth/state.d.ts +11 -0
- package/src/modules/auth/state.d.ts.map +1 -1
- package/src/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
- package/src/modules/mfa/{authMfaRecoveryCode/authMfaRecoveryCode.d.ts → authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts} +5 -3
- package/src/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts.map +1 -0
- package/src/modules/mfa/authenticateMfaRecoveryCode/index.d.ts +2 -0
- package/src/modules/mfa/authenticateMfaRecoveryCode/index.d.ts.map +1 -0
- package/src/modules/mfa/{authTotpMfaDevice/authTotpMfaDevice.d.ts → authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts} +3 -3
- package/src/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts.map +1 -0
- package/src/modules/mfa/authenticateTotpMfaDevice/index.d.ts +2 -0
- package/src/modules/mfa/authenticateTotpMfaDevice/index.d.ts.map +1 -0
- package/src/modules/otp/sendEmailOTP/sendEmailOTP.d.ts +2 -0
- package/src/modules/otp/sendEmailOTP/sendEmailOTP.d.ts.map +1 -1
- package/src/modules/storageSync/hydrateStateWithStorage/hydrateStateWithStorage.d.ts.map +1 -1
- package/src/modules/storageSync/schema.d.ts +1 -0
- package/src/modules/storageSync/schema.d.ts.map +1 -1
- package/src/modules/storageSync/syncStateWithStorage/syncStateWithStorage.d.ts.map +1 -1
- package/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseAuthenticatedEvent/checkAndRaiseAuthenticatedEvent.d.ts +0 -10
- package/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseAuthenticatedEvent/checkAndRaiseAuthenticatedEvent.d.ts.map +0 -1
- package/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseAuthenticatedEvent/index.d.ts +0 -2
- package/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseAuthenticatedEvent/index.d.ts.map +0 -1
- package/src/modules/mfa/authMfaRecoveryCode/authMfaRecoveryCode.d.ts.map +0 -1
- package/src/modules/mfa/authMfaRecoveryCode/index.d.ts +0 -2
- package/src/modules/mfa/authMfaRecoveryCode/index.d.ts.map +0 -1
- package/src/modules/mfa/authTotpMfaDevice/authTotpMfaDevice.d.ts.map +0 -1
- package/src/modules/mfa/authTotpMfaDevice/index.d.ts +0 -2
- package/src/modules/mfa/authTotpMfaDevice/index.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.1.0-alpha.3 (2025-09-09)
|
|
2
|
+
|
|
3
|
+
This was a version bump only, there were no code changes.
|
|
4
|
+
|
|
5
|
+
## 0.1.0-alpha.2 (2025-09-08)
|
|
6
|
+
|
|
7
|
+
This was a version bump only, there were no code changes.
|
|
8
|
+
|
|
1
9
|
## 0.1.0-alpha.1 (2025-09-02)
|
|
2
10
|
|
|
3
11
|
This was a version bump only, there were no code changes.
|
|
@@ -4,7 +4,7 @@ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
|
4
4
|
var buffer = require('buffer');
|
|
5
5
|
|
|
6
6
|
var name = "@dynamic-labs-sdk/client";
|
|
7
|
-
var version = "0.1.0-alpha.
|
|
7
|
+
var version = "0.1.0-alpha.3";
|
|
8
8
|
var dependencies = {
|
|
9
9
|
"@dynamic-labs/sdk-api-core": "0.0.762"};
|
|
10
10
|
|
|
@@ -2,7 +2,7 @@ import { AuthStorageEnum, SDKApi, Configuration } from '@dynamic-labs/sdk-api-co
|
|
|
2
2
|
import { Buffer as Buffer$1 } from 'buffer';
|
|
3
3
|
|
|
4
4
|
var name = "@dynamic-labs-sdk/client";
|
|
5
|
-
var version = "0.1.0-alpha.
|
|
5
|
+
var version = "0.1.0-alpha.3";
|
|
6
6
|
var dependencies = {
|
|
7
7
|
"@dynamic-labs/sdk-api-core": "0.0.762"};
|
|
8
8
|
|
package/index.cjs.js
CHANGED
|
@@ -348,6 +348,7 @@ const getAvailableWalletProvidersFromWalletAccounts = (client)=>{
|
|
|
348
348
|
core.logger.error('Failed to revoke session', error);
|
|
349
349
|
}
|
|
350
350
|
core.state.set({
|
|
351
|
+
legacyToken: null,
|
|
351
352
|
sessionExpiresAt: null,
|
|
352
353
|
token: null,
|
|
353
354
|
user: null
|
|
@@ -442,6 +443,11 @@ const sessionKeySchema = getNetworkProviderFromNetworkId.createStorageKeySchema(
|
|
|
442
443
|
key: 'session',
|
|
443
444
|
schema: z__namespace.object({
|
|
444
445
|
/**
|
|
446
|
+
* Legacy token will be undefined in environments with cookie based sessions.
|
|
447
|
+
*
|
|
448
|
+
* @deprecated Use `token` instead.
|
|
449
|
+
*/ legacyToken: z__namespace.nullable(z__namespace.string()),
|
|
450
|
+
/**
|
|
445
451
|
* The current available MFA token.
|
|
446
452
|
*/ mfaToken: z__namespace.nullable(z__namespace.string()),
|
|
447
453
|
/**
|
|
@@ -464,6 +470,7 @@ const hydrateStateWithStorage = async (client)=>{
|
|
|
464
470
|
const isSessionValid = (session == null ? void 0 : session.sessionExpiration) && session.sessionExpiration > Date.now();
|
|
465
471
|
if (isSessionValid) {
|
|
466
472
|
stateChanges.token = session.token;
|
|
473
|
+
stateChanges.legacyToken = session.legacyToken;
|
|
467
474
|
stateChanges.sessionExpiresAt = new Date(session.sessionExpiration);
|
|
468
475
|
stateChanges.mfaToken = session.mfaToken;
|
|
469
476
|
stateChanges.sessionKeys = session.sessionKeys;
|
|
@@ -490,6 +497,7 @@ const syncStateWithStorage = (client)=>{
|
|
|
490
497
|
void core.storage.removeItem(sessionKeySchema);
|
|
491
498
|
} else {
|
|
492
499
|
void core.storage.setItem(sessionKeySchema, {
|
|
500
|
+
legacyToken: state.legacyToken,
|
|
493
501
|
mfaToken: state.mfaToken,
|
|
494
502
|
sessionExpiration: state.sessionExpiresAt.getTime(),
|
|
495
503
|
sessionKeys: state.sessionKeys,
|
|
@@ -794,6 +802,7 @@ class InvalidStorageValue extends getChainFromVerifiedCredentialChain.BaseError
|
|
|
794
802
|
* The initial values for the state of the client.
|
|
795
803
|
*/ const getInitialState = ()=>({
|
|
796
804
|
initStatus: 'uninitialized',
|
|
805
|
+
legacyToken: null,
|
|
797
806
|
mfaToken: null,
|
|
798
807
|
projectSettings: null,
|
|
799
808
|
sessionExpiresAt: null,
|
|
@@ -1515,6 +1524,47 @@ const providersRequiringPkce = [
|
|
|
1515
1524
|
}, client);
|
|
1516
1525
|
};
|
|
1517
1526
|
|
|
1527
|
+
/**
|
|
1528
|
+
* Authenticates using an MFA recovery code.
|
|
1529
|
+
*
|
|
1530
|
+
* This function allows users to bypass normal MFA requirements by using
|
|
1531
|
+
* one of their backup recovery codes when none of the registered MFA methods are available.
|
|
1532
|
+
*
|
|
1533
|
+
* @param params.code - The recovery code to authenticate with.
|
|
1534
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1535
|
+
* @returns A promise that resolves to the MFA authentication response with token.
|
|
1536
|
+
*/ const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, client = getChainFromVerifiedCredentialChain.getDefaultClient())=>{
|
|
1537
|
+
const core = getChainFromVerifiedCredentialChain.getCore(client);
|
|
1538
|
+
const apiClient = getChainFromVerifiedCredentialChain.createApiClient({}, client);
|
|
1539
|
+
try {
|
|
1540
|
+
const response = await apiClient.authMfaRecovery({
|
|
1541
|
+
environmentId: core.environmentId,
|
|
1542
|
+
mFAAuthRecoveryDevicePostRequest: {
|
|
1543
|
+
code,
|
|
1544
|
+
createMfaToken: createMfaTokenOptions
|
|
1545
|
+
}
|
|
1546
|
+
});
|
|
1547
|
+
refreshUser.updateAuthFromVerifyResponse({
|
|
1548
|
+
response
|
|
1549
|
+
}, client);
|
|
1550
|
+
getWalletProviderByKey.emitEvent({
|
|
1551
|
+
args: {
|
|
1552
|
+
mfaToken: response.mfaToken
|
|
1553
|
+
},
|
|
1554
|
+
event: 'mfaCompletionSuccess'
|
|
1555
|
+
}, client);
|
|
1556
|
+
return response;
|
|
1557
|
+
} catch (error) {
|
|
1558
|
+
getWalletProviderByKey.emitEvent({
|
|
1559
|
+
args: {
|
|
1560
|
+
error
|
|
1561
|
+
},
|
|
1562
|
+
event: 'mfaCompletionFailure'
|
|
1563
|
+
}, client);
|
|
1564
|
+
throw error;
|
|
1565
|
+
}
|
|
1566
|
+
};
|
|
1567
|
+
|
|
1518
1568
|
const getPasskeyAuthenticationOptions = async (client)=>{
|
|
1519
1569
|
const core = getChainFromVerifiedCredentialChain.getCore(client);
|
|
1520
1570
|
const apiClient = getChainFromVerifiedCredentialChain.createApiClient({}, client);
|
|
@@ -1596,46 +1646,6 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
|
|
|
1596
1646
|
}
|
|
1597
1647
|
};
|
|
1598
1648
|
|
|
1599
|
-
/**
|
|
1600
|
-
* Authenticates using an MFA recovery code.
|
|
1601
|
-
*
|
|
1602
|
-
* This function allows users to bypass normal MFA requirements by using
|
|
1603
|
-
* one of their backup recovery codes when none of the registered MFA methods are available.
|
|
1604
|
-
*
|
|
1605
|
-
* @param params.code - The recovery code to authenticate with.
|
|
1606
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1607
|
-
* @returns A promise that resolves to the MFA authentication response with token.
|
|
1608
|
-
*/ const authMfaRecoveryCode = async ({ code }, client = getChainFromVerifiedCredentialChain.getDefaultClient())=>{
|
|
1609
|
-
const core = getChainFromVerifiedCredentialChain.getCore(client);
|
|
1610
|
-
const apiClient = getChainFromVerifiedCredentialChain.createApiClient({}, client);
|
|
1611
|
-
try {
|
|
1612
|
-
const response = await apiClient.authMfaRecovery({
|
|
1613
|
-
environmentId: core.environmentId,
|
|
1614
|
-
mFAAuthRecoveryDevicePostRequest: {
|
|
1615
|
-
code
|
|
1616
|
-
}
|
|
1617
|
-
});
|
|
1618
|
-
refreshUser.updateAuthFromVerifyResponse({
|
|
1619
|
-
response
|
|
1620
|
-
}, client);
|
|
1621
|
-
getWalletProviderByKey.emitEvent({
|
|
1622
|
-
args: {
|
|
1623
|
-
mfaToken: response.mfaToken
|
|
1624
|
-
},
|
|
1625
|
-
event: 'mfaCompletionSuccess'
|
|
1626
|
-
}, client);
|
|
1627
|
-
return response;
|
|
1628
|
-
} catch (error) {
|
|
1629
|
-
getWalletProviderByKey.emitEvent({
|
|
1630
|
-
args: {
|
|
1631
|
-
error
|
|
1632
|
-
},
|
|
1633
|
-
event: 'mfaCompletionFailure'
|
|
1634
|
-
}, client);
|
|
1635
|
-
throw error;
|
|
1636
|
-
}
|
|
1637
|
-
};
|
|
1638
|
-
|
|
1639
1649
|
/**
|
|
1640
1650
|
* Authenticates using a TOTP (Time-based One-Time Password) MFA device.
|
|
1641
1651
|
*
|
|
@@ -1647,7 +1657,7 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
|
|
|
1647
1657
|
* @param [params.createMfaTokenOptions] - Optional configuration for MFA token creation.
|
|
1648
1658
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1649
1659
|
* @returns A promise that resolves to the MFA authentication response.
|
|
1650
|
-
*/ const
|
|
1660
|
+
*/ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions }, client = getChainFromVerifiedCredentialChain.getDefaultClient())=>{
|
|
1651
1661
|
const core = getChainFromVerifiedCredentialChain.getCore(client);
|
|
1652
1662
|
const apiClient = getChainFromVerifiedCredentialChain.createApiClient({}, client);
|
|
1653
1663
|
try {
|
|
@@ -1824,6 +1834,8 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
|
|
|
1824
1834
|
/**
|
|
1825
1835
|
* Sends a one-time password (OTP) to the specified email address.
|
|
1826
1836
|
*
|
|
1837
|
+
* Once you have the OTP code, you should then use `verifyOTP` to verify it and complete the authentication process.
|
|
1838
|
+
*
|
|
1827
1839
|
* @param params.email - The email address to send the OTP to.
|
|
1828
1840
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1829
1841
|
* @returns A promise that resolves to an OTPVerification object containing the email and verification UUID.
|
|
@@ -3240,7 +3252,7 @@ const isSameAddress = (left, right, chain)=>refreshUser.normalizeAddress(left, c
|
|
|
3240
3252
|
walletAccount
|
|
3241
3253
|
}, client);
|
|
3242
3254
|
const { networkId } = await walletProvider.getActiveNetworkId();
|
|
3243
|
-
const networksData = getNetworkProviderFromNetworkId.getNetworksData();
|
|
3255
|
+
const networksData = getNetworkProviderFromNetworkId.getNetworksData(client);
|
|
3244
3256
|
const activeNetworkData = networksData.find((data)=>data.networkId === networkId && data.chain === walletProvider.chain);
|
|
3245
3257
|
return {
|
|
3246
3258
|
networkData: activeNetworkData
|
|
@@ -3543,9 +3555,9 @@ exports.WalletProviderMethodUnavailableError = WalletProviderMethodUnavailableEr
|
|
|
3543
3555
|
exports.acknowledgeRecoveryCodes = acknowledgeRecoveryCodes;
|
|
3544
3556
|
exports.assertWalletAccountSigningAvailability = assertWalletAccountSigningAvailability;
|
|
3545
3557
|
exports.assertWalletProviderMethodDefined = assertWalletProviderMethodDefined;
|
|
3546
|
-
exports.
|
|
3547
|
-
exports.authTotpMfaDevice = authTotpMfaDevice;
|
|
3558
|
+
exports.authenticateMfaRecoveryCode = authenticateMfaRecoveryCode;
|
|
3548
3559
|
exports.authenticatePasskeyMFA = authenticatePasskeyMFA;
|
|
3560
|
+
exports.authenticateTotpMfaDevice = authenticateTotpMfaDevice;
|
|
3549
3561
|
exports.completeSocialRedirectSignIn = completeSocialRedirectSignIn;
|
|
3550
3562
|
exports.connectAndVerifyWithWalletProvider = connectAndVerifyWithWalletProvider;
|
|
3551
3563
|
exports.connectWithWalletProvider = connectWithWalletProvider;
|
package/index.esm.js
CHANGED
|
@@ -332,6 +332,7 @@ const getAvailableWalletProvidersFromWalletAccounts = (client)=>{
|
|
|
332
332
|
core.logger.error('Failed to revoke session', error);
|
|
333
333
|
}
|
|
334
334
|
core.state.set({
|
|
335
|
+
legacyToken: null,
|
|
335
336
|
sessionExpiresAt: null,
|
|
336
337
|
token: null,
|
|
337
338
|
user: null
|
|
@@ -426,6 +427,11 @@ const sessionKeySchema = createStorageKeySchema({
|
|
|
426
427
|
key: 'session',
|
|
427
428
|
schema: z.object({
|
|
428
429
|
/**
|
|
430
|
+
* Legacy token will be undefined in environments with cookie based sessions.
|
|
431
|
+
*
|
|
432
|
+
* @deprecated Use `token` instead.
|
|
433
|
+
*/ legacyToken: z.nullable(z.string()),
|
|
434
|
+
/**
|
|
429
435
|
* The current available MFA token.
|
|
430
436
|
*/ mfaToken: z.nullable(z.string()),
|
|
431
437
|
/**
|
|
@@ -448,6 +454,7 @@ const hydrateStateWithStorage = async (client)=>{
|
|
|
448
454
|
const isSessionValid = (session == null ? void 0 : session.sessionExpiration) && session.sessionExpiration > Date.now();
|
|
449
455
|
if (isSessionValid) {
|
|
450
456
|
stateChanges.token = session.token;
|
|
457
|
+
stateChanges.legacyToken = session.legacyToken;
|
|
451
458
|
stateChanges.sessionExpiresAt = new Date(session.sessionExpiration);
|
|
452
459
|
stateChanges.mfaToken = session.mfaToken;
|
|
453
460
|
stateChanges.sessionKeys = session.sessionKeys;
|
|
@@ -474,6 +481,7 @@ const syncStateWithStorage = (client)=>{
|
|
|
474
481
|
void core.storage.removeItem(sessionKeySchema);
|
|
475
482
|
} else {
|
|
476
483
|
void core.storage.setItem(sessionKeySchema, {
|
|
484
|
+
legacyToken: state.legacyToken,
|
|
477
485
|
mfaToken: state.mfaToken,
|
|
478
486
|
sessionExpiration: state.sessionExpiresAt.getTime(),
|
|
479
487
|
sessionKeys: state.sessionKeys,
|
|
@@ -778,6 +786,7 @@ class InvalidStorageValue extends BaseError {
|
|
|
778
786
|
* The initial values for the state of the client.
|
|
779
787
|
*/ const getInitialState = ()=>({
|
|
780
788
|
initStatus: 'uninitialized',
|
|
789
|
+
legacyToken: null,
|
|
781
790
|
mfaToken: null,
|
|
782
791
|
projectSettings: null,
|
|
783
792
|
sessionExpiresAt: null,
|
|
@@ -1499,6 +1508,47 @@ const providersRequiringPkce = [
|
|
|
1499
1508
|
}, client);
|
|
1500
1509
|
};
|
|
1501
1510
|
|
|
1511
|
+
/**
|
|
1512
|
+
* Authenticates using an MFA recovery code.
|
|
1513
|
+
*
|
|
1514
|
+
* This function allows users to bypass normal MFA requirements by using
|
|
1515
|
+
* one of their backup recovery codes when none of the registered MFA methods are available.
|
|
1516
|
+
*
|
|
1517
|
+
* @param params.code - The recovery code to authenticate with.
|
|
1518
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1519
|
+
* @returns A promise that resolves to the MFA authentication response with token.
|
|
1520
|
+
*/ const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, client = getDefaultClient())=>{
|
|
1521
|
+
const core = getCore(client);
|
|
1522
|
+
const apiClient = createApiClient({}, client);
|
|
1523
|
+
try {
|
|
1524
|
+
const response = await apiClient.authMfaRecovery({
|
|
1525
|
+
environmentId: core.environmentId,
|
|
1526
|
+
mFAAuthRecoveryDevicePostRequest: {
|
|
1527
|
+
code,
|
|
1528
|
+
createMfaToken: createMfaTokenOptions
|
|
1529
|
+
}
|
|
1530
|
+
});
|
|
1531
|
+
updateAuthFromVerifyResponse({
|
|
1532
|
+
response
|
|
1533
|
+
}, client);
|
|
1534
|
+
emitEvent({
|
|
1535
|
+
args: {
|
|
1536
|
+
mfaToken: response.mfaToken
|
|
1537
|
+
},
|
|
1538
|
+
event: 'mfaCompletionSuccess'
|
|
1539
|
+
}, client);
|
|
1540
|
+
return response;
|
|
1541
|
+
} catch (error) {
|
|
1542
|
+
emitEvent({
|
|
1543
|
+
args: {
|
|
1544
|
+
error
|
|
1545
|
+
},
|
|
1546
|
+
event: 'mfaCompletionFailure'
|
|
1547
|
+
}, client);
|
|
1548
|
+
throw error;
|
|
1549
|
+
}
|
|
1550
|
+
};
|
|
1551
|
+
|
|
1502
1552
|
const getPasskeyAuthenticationOptions = async (client)=>{
|
|
1503
1553
|
const core = getCore(client);
|
|
1504
1554
|
const apiClient = createApiClient({}, client);
|
|
@@ -1580,46 +1630,6 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
|
|
|
1580
1630
|
}
|
|
1581
1631
|
};
|
|
1582
1632
|
|
|
1583
|
-
/**
|
|
1584
|
-
* Authenticates using an MFA recovery code.
|
|
1585
|
-
*
|
|
1586
|
-
* This function allows users to bypass normal MFA requirements by using
|
|
1587
|
-
* one of their backup recovery codes when none of the registered MFA methods are available.
|
|
1588
|
-
*
|
|
1589
|
-
* @param params.code - The recovery code to authenticate with.
|
|
1590
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1591
|
-
* @returns A promise that resolves to the MFA authentication response with token.
|
|
1592
|
-
*/ const authMfaRecoveryCode = async ({ code }, client = getDefaultClient())=>{
|
|
1593
|
-
const core = getCore(client);
|
|
1594
|
-
const apiClient = createApiClient({}, client);
|
|
1595
|
-
try {
|
|
1596
|
-
const response = await apiClient.authMfaRecovery({
|
|
1597
|
-
environmentId: core.environmentId,
|
|
1598
|
-
mFAAuthRecoveryDevicePostRequest: {
|
|
1599
|
-
code
|
|
1600
|
-
}
|
|
1601
|
-
});
|
|
1602
|
-
updateAuthFromVerifyResponse({
|
|
1603
|
-
response
|
|
1604
|
-
}, client);
|
|
1605
|
-
emitEvent({
|
|
1606
|
-
args: {
|
|
1607
|
-
mfaToken: response.mfaToken
|
|
1608
|
-
},
|
|
1609
|
-
event: 'mfaCompletionSuccess'
|
|
1610
|
-
}, client);
|
|
1611
|
-
return response;
|
|
1612
|
-
} catch (error) {
|
|
1613
|
-
emitEvent({
|
|
1614
|
-
args: {
|
|
1615
|
-
error
|
|
1616
|
-
},
|
|
1617
|
-
event: 'mfaCompletionFailure'
|
|
1618
|
-
}, client);
|
|
1619
|
-
throw error;
|
|
1620
|
-
}
|
|
1621
|
-
};
|
|
1622
|
-
|
|
1623
1633
|
/**
|
|
1624
1634
|
* Authenticates using a TOTP (Time-based One-Time Password) MFA device.
|
|
1625
1635
|
*
|
|
@@ -1631,7 +1641,7 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
|
|
|
1631
1641
|
* @param [params.createMfaTokenOptions] - Optional configuration for MFA token creation.
|
|
1632
1642
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1633
1643
|
* @returns A promise that resolves to the MFA authentication response.
|
|
1634
|
-
*/ const
|
|
1644
|
+
*/ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions }, client = getDefaultClient())=>{
|
|
1635
1645
|
const core = getCore(client);
|
|
1636
1646
|
const apiClient = createApiClient({}, client);
|
|
1637
1647
|
try {
|
|
@@ -1808,6 +1818,8 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
|
|
|
1808
1818
|
/**
|
|
1809
1819
|
* Sends a one-time password (OTP) to the specified email address.
|
|
1810
1820
|
*
|
|
1821
|
+
* Once you have the OTP code, you should then use `verifyOTP` to verify it and complete the authentication process.
|
|
1822
|
+
*
|
|
1811
1823
|
* @param params.email - The email address to send the OTP to.
|
|
1812
1824
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1813
1825
|
* @returns A promise that resolves to an OTPVerification object containing the email and verification UUID.
|
|
@@ -3224,7 +3236,7 @@ const isSameAddress = (left, right, chain)=>normalizeAddress(left, chain) === no
|
|
|
3224
3236
|
walletAccount
|
|
3225
3237
|
}, client);
|
|
3226
3238
|
const { networkId } = await walletProvider.getActiveNetworkId();
|
|
3227
|
-
const networksData = getNetworksData();
|
|
3239
|
+
const networksData = getNetworksData(client);
|
|
3228
3240
|
const activeNetworkData = networksData.find((data)=>data.networkId === networkId && data.chain === walletProvider.chain);
|
|
3229
3241
|
return {
|
|
3230
3242
|
networkData: activeNetworkData
|
|
@@ -3489,4 +3501,4 @@ const isSameAddress = (left, right, chain)=>normalizeAddress(left, chain) === no
|
|
|
3489
3501
|
|
|
3490
3502
|
assertPackageVersion(name, version);
|
|
3491
3503
|
|
|
3492
|
-
export { BaseError, ClientAlreadyInitializedError, InvalidRedirectStorageStateError, MissingRedirectStorageStateError, MissingSocialUrlParamError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoPasskeyCredentialsFoundError, NoWebAuthNSupportError, UnavailableInServerSideError, UnrecognizedNetworkError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, acknowledgeRecoveryCodes, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined,
|
|
3504
|
+
export { BaseError, ClientAlreadyInitializedError, InvalidRedirectStorageStateError, MissingRedirectStorageStateError, MissingSocialUrlParamError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoPasskeyCredentialsFoundError, NoWebAuthNSupportError, UnavailableInServerSideError, UnrecognizedNetworkError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, acknowledgeRecoveryCodes, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, completeSocialRedirectSignIn, connectAndVerifyWithWalletProvider, connectWithWalletProvider, createDynamicClient, createNewMfaRecoveryCodes, deleteMfaDevice, deletePasskey, detectOAuthRedirect, fetchProjectSettings, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getConnectedAddresses, getDefaultClient, getMfaDevices, getMfaRecoveryCodes, getMultichainBalances, getNetworksData, getPasskeys, getPrimaryWalletAccount, getWalletAccountFromAddress, getWalletAccounts, initializeClient, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, logout, offWalletProviderEvent, onWalletProviderEvent, proveWalletAccountOwnership, registerPasskey, registerTotpMfaDevice, removeWalletAccount, selectPrimaryWalletAccount, sendEmailOTP, sendSmsOTP, setDefaultMfaDevice, signInWithExternalJwt, signInWithPasskey, signInWithSocialRedirect, signMessage, switchActiveNetwork, updateUser, verifyOTP, verifyWalletAccount };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-sdk/client",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.cjs.js",
|
|
6
6
|
"module": "./index.esm.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@dynamic-labs-sdk/assert-package-version": "0.1.0-alpha.
|
|
32
|
+
"@dynamic-labs-sdk/assert-package-version": "0.1.0-alpha.3",
|
|
33
33
|
"@dynamic-labs/sdk-api-core": "0.0.762",
|
|
34
34
|
"@dynamic-labs-wallet/browser-wallet-client": "0.0.144",
|
|
35
35
|
"@simplewebauthn/browser": "^13.1.0",
|
package/refreshUser.cjs.js
CHANGED
|
@@ -95,24 +95,6 @@ class NotWaasWalletAccountError extends getChainFromVerifiedCredentialChain.Base
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
const checkAndRaiseAuthenticatedEvent = ({ previousState, response }, client)=>{
|
|
99
|
-
const core = getChainFromVerifiedCredentialChain.getCore(client);
|
|
100
|
-
/*
|
|
101
|
-
* If there was no user before, it means we are signing in
|
|
102
|
-
* we should check user and not jwt because of cookie based auth
|
|
103
|
-
*/ const isSigningIn = previousState.user === null;
|
|
104
|
-
if (!isSigningIn) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
core.logger.debug('[updateAuthFromVerifyResponse] sign in detected, raising authenticated event');
|
|
108
|
-
getWalletProviderByKey.emitEvent({
|
|
109
|
-
args: {
|
|
110
|
-
verifyResponse: response
|
|
111
|
-
},
|
|
112
|
-
event: 'authenticated'
|
|
113
|
-
}, client);
|
|
114
|
-
};
|
|
115
|
-
|
|
116
98
|
/**
|
|
117
99
|
* Emits the `walletAccountsChanged` event.
|
|
118
100
|
*/ const emitWalletAccountsChangedEvent = (client)=>{
|
|
@@ -138,18 +120,15 @@ const getWalletAccountsHash = (state)=>getWalletAccountsFromState(state).map(({
|
|
|
138
120
|
const updateAuthFromVerifyResponse = ({ response }, client)=>{
|
|
139
121
|
const core = getChainFromVerifiedCredentialChain.getCore(client);
|
|
140
122
|
const previousState = getChainFromVerifiedCredentialChain._extends({}, core.state.get());
|
|
141
|
-
const { user, minifiedJwt, expiresAt, mfaToken } = response;
|
|
123
|
+
const { user, minifiedJwt, jwt, expiresAt, mfaToken } = response;
|
|
142
124
|
core.state.set({
|
|
125
|
+
legacyToken: jwt != null ? jwt : null,
|
|
143
126
|
mfaToken: mfaToken != null ? mfaToken : null,
|
|
144
127
|
// Expires at is in seconds, so we need to convert it to milliseconds
|
|
145
128
|
sessionExpiresAt: new Date(expiresAt * 1000),
|
|
146
129
|
token: minifiedJwt != null ? minifiedJwt : null,
|
|
147
130
|
user
|
|
148
131
|
});
|
|
149
|
-
checkAndRaiseAuthenticatedEvent({
|
|
150
|
-
previousState,
|
|
151
|
-
response
|
|
152
|
-
}, client);
|
|
153
132
|
checkAndRaiseWalletAccountsChangedEvent({
|
|
154
133
|
previousState
|
|
155
134
|
}, client);
|
package/refreshUser.esm.js
CHANGED
|
@@ -93,24 +93,6 @@ class NotWaasWalletAccountError extends BaseError {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
const checkAndRaiseAuthenticatedEvent = ({ previousState, response }, client)=>{
|
|
97
|
-
const core = getCore(client);
|
|
98
|
-
/*
|
|
99
|
-
* If there was no user before, it means we are signing in
|
|
100
|
-
* we should check user and not jwt because of cookie based auth
|
|
101
|
-
*/ const isSigningIn = previousState.user === null;
|
|
102
|
-
if (!isSigningIn) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
core.logger.debug('[updateAuthFromVerifyResponse] sign in detected, raising authenticated event');
|
|
106
|
-
emitEvent({
|
|
107
|
-
args: {
|
|
108
|
-
verifyResponse: response
|
|
109
|
-
},
|
|
110
|
-
event: 'authenticated'
|
|
111
|
-
}, client);
|
|
112
|
-
};
|
|
113
|
-
|
|
114
96
|
/**
|
|
115
97
|
* Emits the `walletAccountsChanged` event.
|
|
116
98
|
*/ const emitWalletAccountsChangedEvent = (client)=>{
|
|
@@ -136,18 +118,15 @@ const getWalletAccountsHash = (state)=>getWalletAccountsFromState(state).map(({
|
|
|
136
118
|
const updateAuthFromVerifyResponse = ({ response }, client)=>{
|
|
137
119
|
const core = getCore(client);
|
|
138
120
|
const previousState = _extends({}, core.state.get());
|
|
139
|
-
const { user, minifiedJwt, expiresAt, mfaToken } = response;
|
|
121
|
+
const { user, minifiedJwt, jwt, expiresAt, mfaToken } = response;
|
|
140
122
|
core.state.set({
|
|
123
|
+
legacyToken: jwt != null ? jwt : null,
|
|
141
124
|
mfaToken: mfaToken != null ? mfaToken : null,
|
|
142
125
|
// Expires at is in seconds, so we need to convert it to milliseconds
|
|
143
126
|
sessionExpiresAt: new Date(expiresAt * 1000),
|
|
144
127
|
token: minifiedJwt != null ? minifiedJwt : null,
|
|
145
128
|
user
|
|
146
129
|
});
|
|
147
|
-
checkAndRaiseAuthenticatedEvent({
|
|
148
|
-
previousState,
|
|
149
|
-
response
|
|
150
|
-
}, client);
|
|
151
130
|
checkAndRaiseWalletAccountsChangedEvent({
|
|
152
131
|
previousState
|
|
153
132
|
}, client);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInitialState.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/client/core/createCore/getInitialState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,
|
|
1
|
+
{"version":3,"file":"getInitialState.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/client/core/createCore/getInitialState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,gBAUjC,CAAC"}
|
package/src/exports/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import '../modules/mfa/events';
|
|
|
9
9
|
import '../modules/state/raiseStateEvents/events';
|
|
10
10
|
import '../modules/wallets/walletAccount/events';
|
|
11
11
|
import '../modules/wallets/walletProviderRegistry/events';
|
|
12
|
-
export type { CreateMfaToken } from '@dynamic-labs/sdk-api-core';
|
|
12
|
+
export type { CreateMfaToken, MFAAction } from '@dynamic-labs/sdk-api-core';
|
|
13
13
|
export type { DynamicCoreConfig } from '../client/core/types';
|
|
14
14
|
export { createDynamicClient } from '../client/createDynamicClient';
|
|
15
15
|
export { getDefaultClient } from '../client/defaultClient';
|
|
@@ -56,9 +56,9 @@ export { hasExtension } from '../modules/extension/hasExtension';
|
|
|
56
56
|
export { initializeClient } from '../modules/initializeClient';
|
|
57
57
|
export type { DynamicInitStatus } from '../modules/initializeClient/state';
|
|
58
58
|
export { acknowledgeRecoveryCodes } from '../modules/mfa/acknowledgeRecoveryCodes';
|
|
59
|
+
export { authenticateMfaRecoveryCode } from '../modules/mfa/authenticateMfaRecoveryCode';
|
|
59
60
|
export { authenticatePasskeyMFA } from '../modules/mfa/authenticatePasskeyMFA';
|
|
60
|
-
export {
|
|
61
|
-
export { authTotpMfaDevice } from '../modules/mfa/authTotpMfaDevice';
|
|
61
|
+
export { authenticateTotpMfaDevice } from '../modules/mfa/authenticateTotpMfaDevice';
|
|
62
62
|
export { consumeMfaToken } from '../modules/mfa/consumeMfaToken';
|
|
63
63
|
export { createNewMfaRecoveryCodes } from '../modules/mfa/createNewMfaRecoveryCodes';
|
|
64
64
|
export { deleteMfaDevice } from '../modules/mfa/deleteMfaDevice';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/client/src/exports/index.ts"],"names":[],"mappings":"AAWA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,8BAA8B,CAAC;AACtC,OAAO,mDAAmD,CAAC;AAG3D,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,0CAA0C,CAAC;AAClD,OAAO,yCAAyC,CAAC;AACjD,OAAO,kDAAkD,CAAC;AAE1D,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/client/src/exports/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
import type { VerifyResponse } from '@dynamic-labs/sdk-api-core';
|
|
2
1
|
declare global {
|
|
3
2
|
interface DynamicEvents {
|
|
4
|
-
/**
|
|
5
|
-
* Raised when the user is authenticated.
|
|
6
|
-
*/
|
|
7
|
-
authenticated: (args: {
|
|
8
|
-
verifyResponse: VerifyResponse;
|
|
9
|
-
}) => void;
|
|
10
3
|
/**
|
|
11
4
|
* Raised when "logout" is called.
|
|
12
5
|
*/
|
|
13
6
|
logout: () => void;
|
|
14
7
|
}
|
|
15
8
|
}
|
|
9
|
+
export {};
|
|
16
10
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../../packages/client/src/modules/auth/events.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../../packages/client/src/modules/auth/events.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,aAAa;QACrB;;WAEG;QACH,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB;CACF;AAED,OAAO,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/auth/logout/logout.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/auth/logout/logout.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,sEA6BlB,CAAC"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { User } from '../user/user.types';
|
|
2
2
|
declare global {
|
|
3
3
|
interface DynamicCoreState {
|
|
4
|
+
/**
|
|
5
|
+
* The legacy JWT of the current user.
|
|
6
|
+
*
|
|
7
|
+
* This is full JWT that is used for legacy authentication.
|
|
8
|
+
*
|
|
9
|
+
* In cookie based environments, the token will always be null as the token is stored in the cookie.
|
|
10
|
+
* It is not possible to access the cookie from the client.
|
|
11
|
+
*
|
|
12
|
+
* @deprecated use token instead
|
|
13
|
+
*/
|
|
14
|
+
legacyToken: string | null;
|
|
4
15
|
/**
|
|
5
16
|
* The expiration date of the current session.
|
|
6
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../packages/client/src/modules/auth/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,gBAAgB;QACxB;;WAEG;QACH,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;QAE9B;;;;;WAKG;QACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAErB;;WAEG;QACH,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;KACnB;CACF"}
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../packages/client/src/modules/auth/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,gBAAgB;QACxB;;;;;;;;;WASG;QACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAE3B;;WAEG;QACH,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;QAE9B;;;;;WAKG;QACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAErB;;WAEG;QACH,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;KACnB;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateAuthFromVerifyResponse.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"updateAuthFromVerifyResponse.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,KAAK,kCAAkC,GAAG;IACxC,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,4BAA4B,iBACzB,kCAAkC,UACxC,aAAa,SAkBtB,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
type
|
|
1
|
+
import type { CreateMfaToken } from '@dynamic-labs/sdk-api-core';
|
|
2
|
+
type AuthenticateMfaRecoveryCodeParams = {
|
|
2
3
|
code: string;
|
|
4
|
+
createMfaTokenOptions?: CreateMfaToken;
|
|
3
5
|
};
|
|
4
6
|
/**
|
|
5
7
|
* Authenticates using an MFA recovery code.
|
|
@@ -11,6 +13,6 @@ type AuthMfaRecoveryCodeParams = {
|
|
|
11
13
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
12
14
|
* @returns A promise that resolves to the MFA authentication response with token.
|
|
13
15
|
*/
|
|
14
|
-
export declare const
|
|
16
|
+
export declare const authenticateMfaRecoveryCode: ({ code, createMfaTokenOptions }: AuthenticateMfaRecoveryCodeParams, client?: import("../../../exports").DynamicClient) => Promise<import("@dynamic-labs/sdk-api-core").VerifyResponse>;
|
|
15
17
|
export {};
|
|
16
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=authenticateMfaRecoveryCode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticateMfaRecoveryCode.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQjE,KAAK,iCAAiC,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,cAAc,CAAC;CACxC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,oCACL,iCAAiC,oHAoCnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authenticateMfaRecoveryCode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CreateMfaToken } from '@dynamic-labs/sdk-api-core';
|
|
2
|
-
type
|
|
2
|
+
type AuthenticateTotpMfaDeviceParams = {
|
|
3
3
|
code: string;
|
|
4
4
|
createMfaTokenOptions?: CreateMfaToken;
|
|
5
5
|
deviceId?: string;
|
|
@@ -16,6 +16,6 @@ type AuthTotpMfaDeviceParams = {
|
|
|
16
16
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
17
17
|
* @returns A promise that resolves to the MFA authentication response.
|
|
18
18
|
*/
|
|
19
|
-
export declare const
|
|
19
|
+
export declare const authenticateTotpMfaDevice: ({ deviceId, code, createMfaTokenOptions }: AuthenticateTotpMfaDeviceParams, client?: import("../../../exports").DynamicClient) => Promise<import("@dynamic-labs/sdk-api-core").VerifyResponse>;
|
|
20
20
|
export {};
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=authenticateTotpMfaDevice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticateTotpMfaDevice.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQjE,KAAK,+BAA+B,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,8CACO,+BAA+B,oHAqC3E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authenticateTotpMfaDevice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -5,6 +5,8 @@ export type SendEmailOTPParams = {
|
|
|
5
5
|
/**
|
|
6
6
|
* Sends a one-time password (OTP) to the specified email address.
|
|
7
7
|
*
|
|
8
|
+
* Once you have the OTP code, you should then use `verifyOTP` to verify it and complete the authentication process.
|
|
9
|
+
*
|
|
8
10
|
* @param params.email - The email address to send the OTP to.
|
|
9
11
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
10
12
|
* @returns A promise that resolves to an OTPVerification object containing the email and verification UUID.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendEmailOTP.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/otp/sendEmailOTP/sendEmailOTP.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"sendEmailOTP.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/otp/sendEmailOTP/sendEmailOTP.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,cACZ,kBAAkB,wDAE5B,OAAO,CAAC,eAAe,CAYzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrateStateWithStorage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/storageSync/hydrateStateWithStorage/hydrateStateWithStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,eAAO,MAAM,uBAAuB,WAC1B,aAAa,KACpB,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"hydrateStateWithStorage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/storageSync/hydrateStateWithStorage/hydrateStateWithStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,eAAO,MAAM,uBAAuB,WAC1B,aAAa,KACpB,OAAO,CAAC,IAAI,CAoCd,CAAC"}
|
|
@@ -5,6 +5,7 @@ export declare const stateStorageKeySchema: import("../../services/storage/stora
|
|
|
5
5
|
user: SdkUser | null;
|
|
6
6
|
}>;
|
|
7
7
|
export declare const sessionKeySchema: import("../../services/storage/storage.types").StorageKeySchema<{
|
|
8
|
+
legacyToken: string | null;
|
|
8
9
|
mfaToken: string | null;
|
|
9
10
|
sessionExpiration: number;
|
|
10
11
|
sessionKeys: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../packages/client/src/modules/storageSync/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAK3E,eAAO,MAAM,qBAAqB;;;;EAOhC,CAAC;AAEH,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../packages/client/src/modules/storageSync/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAK3E,eAAO,MAAM,qBAAqB;;;;EAOhC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;EA8B3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncStateWithStorage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/storageSync/syncStateWithStorage/syncStateWithStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,eAAO,MAAM,oBAAoB,WAAY,aAAa,
|
|
1
|
+
{"version":3,"file":"syncStateWithStorage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/storageSync/syncStateWithStorage/syncStateWithStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,eAAO,MAAM,oBAAoB,WAAY,aAAa,SAsBzD,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { VerifyResponse } from '@dynamic-labs/sdk-api-core';
|
|
2
|
-
import type { DynamicCoreState } from '../../../../client/core/types';
|
|
3
|
-
import type { DynamicClient } from '../../../../client/types';
|
|
4
|
-
type CheckAndRaiseAuthenticatedEventParams = {
|
|
5
|
-
previousState: Readonly<DynamicCoreState>;
|
|
6
|
-
response: VerifyResponse;
|
|
7
|
-
};
|
|
8
|
-
export declare const checkAndRaiseAuthenticatedEvent: ({ previousState, response }: CheckAndRaiseAuthenticatedEventParams, client: DynamicClient) => void;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=checkAndRaiseAuthenticatedEvent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkAndRaiseAuthenticatedEvent.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/client/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseAuthenticatedEvent/checkAndRaiseAuthenticatedEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,KAAK,qCAAqC,GAAG;IAC3C,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1C,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,+BAA+B,gCACb,qCAAqC,UAC1D,aAAa,SAyBtB,CAAC"}
|
package/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseAuthenticatedEvent/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/client/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseAuthenticatedEvent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authMfaRecoveryCode.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authMfaRecoveryCode/authMfaRecoveryCode.ts"],"names":[],"mappings":"AAMA,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,aACpB,yBAAyB,oHAmCpC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authMfaRecoveryCode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authTotpMfaDevice.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authTotpMfaDevice/authTotpMfaDevice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQjE,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,8CACe,uBAAuB,oHAqCnE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/client/src/modules/mfa/authTotpMfaDevice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|