@dynamic-labs/sdk-react-core 4.71.0 → 4.73.0
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 +29 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +13 -13
- package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.cjs +15 -0
- package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.d.ts +1 -0
- package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.js +11 -0
- package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.cjs +11 -0
- package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.d.ts +1 -0
- package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.js +7 -0
- package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.cjs +33 -0
- package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.d.ts +16 -0
- package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.js +29 -0
- package/src/lib/client/extension/functions/getSessionKeys/getSessionKeys.d.ts +1 -0
- package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.cjs +5 -9
- package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.d.ts +4 -0
- package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.js +6 -10
- package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.cjs +51 -0
- package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.d.ts +1 -0
- package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.js +47 -0
- package/src/lib/client/extension/hooks/useInitializeSdkClient/getApiHeaders/getApiHeaders.cjs +5 -6
- package/src/lib/client/extension/hooks/useInitializeSdkClient/getApiHeaders/getApiHeaders.js +5 -6
- package/src/lib/client/extension/hooks/useInitializeSdkClient/syncEvents/syncEvents.cjs +2 -2
- package/src/lib/client/extension/hooks/useInitializeSdkClient/syncEvents/syncEvents.js +2 -2
- package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.cjs +2 -0
- package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.js +2 -0
- package/src/lib/client/extension/index.d.ts +4 -0
- package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +2 -2
- package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +2 -2
- package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.cjs +2 -2
- package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.js +2 -2
- package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.cjs +2 -2
- package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.js +2 -2
- package/src/lib/context/DynamicContext/DynamicContext.cjs +0 -3
- package/src/lib/context/DynamicContext/DynamicContext.js +0 -3
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +10 -9
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.d.ts +2 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +10 -9
- package/src/lib/context/DynamicContext/types/DynamicContextProps.d.ts +10 -0
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +0 -2
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +0 -2
- package/src/lib/data/api/api.cjs +1 -1
- package/src/lib/data/api/api.js +1 -1
- package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +2 -4
- package/src/lib/data/api/embeddedWallets/embeddedWallets.js +2 -4
- package/src/lib/events/auth.d.ts +2 -1
- package/src/lib/shared/assets/backupArrow.cjs +1 -1
- package/src/lib/shared/assets/backupArrow.js +1 -1
- package/src/lib/shared/assets/export-private-key.cjs +1 -2
- package/src/lib/shared/assets/export-private-key.js +1 -2
- package/src/lib/shared/assets/export-recovery-phrase.cjs +1 -2
- package/src/lib/shared/assets/export-recovery-phrase.js +1 -2
- package/src/lib/shared/assets/face-id.cjs +1 -1
- package/src/lib/shared/assets/face-id.js +1 -1
- package/src/lib/shared/assets/lock.cjs +1 -2
- package/src/lib/shared/assets/lock.js +1 -2
- package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.cjs +2 -0
- package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.d.ts +3 -3
- package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.js +2 -0
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.cjs +0 -88
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.d.ts +0 -25
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.js +2 -83
- package/src/lib/utils/functions/index.d.ts +0 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +0 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +0 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +0 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +0 -2
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +0 -2
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +0 -2
- package/src/lib/utils/hooks/index.d.ts +0 -1
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +4 -12
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +4 -12
- package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs +1 -1
- package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js +1 -1
- package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.cjs +2 -2
- package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.js +2 -2
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +2 -3
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +2 -3
- package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.cjs +14 -14
- package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.js +14 -14
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +3 -3
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +3 -3
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.cjs +14 -38
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.js +14 -38
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.types.d.ts +8 -3
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpOtp.cjs +6 -10
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpOtp.d.ts +2 -2
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpOtp.js +6 -10
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptMfa.cjs +4 -1
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptMfa.js +4 -1
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptReauth.cjs +22 -6
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptReauth.js +22 -6
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpWallet.cjs +9 -3
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpWallet.d.ts +1 -1
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpWallet.js +9 -3
- package/src/lib/utils/hooks/useSyncDeviceRegistrationFlow/useSyncDeviceRegistrationFlow.cjs +5 -1
- package/src/lib/utils/hooks/useSyncDeviceRegistrationFlow/useSyncDeviceRegistrationFlow.js +5 -1
- package/src/lib/utils/hooks/useValidateSession/handleWalletInfoOutOfSync/handleWalletInfoOutOfSync.cjs +1 -1
- package/src/lib/utils/hooks/useValidateSession/handleWalletInfoOutOfSync/handleWalletInfoOutOfSync.d.ts +2 -1
- package/src/lib/utils/hooks/useValidateSession/handleWalletInfoOutOfSync/handleWalletInfoOutOfSync.js +1 -1
- package/src/lib/utils/hooks/useValidateSession/useValidateSession.cjs +2 -2
- package/src/lib/utils/hooks/useValidateSession/useValidateSession.d.ts +2 -1
- package/src/lib/utils/hooks/useValidateSession/useValidateSession.js +2 -2
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +0 -2
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +0 -2
- package/src/lib/views/BridgeSummaryView/BridgeSummaryView.cjs +1 -1
- package/src/lib/views/BridgeSummaryView/BridgeSummaryView.js +1 -1
- package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -2
- package/src/lib/views/EmailVerification/EmailVerification.js +2 -2
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +2 -2
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +2 -2
- package/src/lib/views/StepUpReauthOtpView/StepUpReauthOtpView.cjs +1 -109
- package/src/lib/views/StepUpReauthOtpView/StepUpReauthOtpView.js +1 -109
- package/src/lib/views/StepUpReauthSocialView/StepUpReauthSocialView.cjs +1 -2
- package/src/lib/views/StepUpReauthSocialView/StepUpReauthSocialView.js +1 -2
- package/src/lib/views/StepUpReauthWalletView/StepUpReauthWalletView.cjs +2 -96
- package/src/lib/views/StepUpReauthWalletView/StepUpReauthWalletView.js +2 -96
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +2 -2
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.d.ts +1 -0
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +2 -2
- package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +1 -1
- package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +1 -1
- package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +1 -1
- package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.js +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.cjs +62 -8
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.js +63 -9
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +12 -54
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +12 -54
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/ExportAndRecoveryView.cjs +2 -3
- package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/ExportAndRecoveryView.js +2 -3
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysMfaWidgetView/ManagePasskeysMfaWidgetView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysMfaWidgetView/ManagePasskeysMfaWidgetView.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManageTotpMfaWidgetView/ManageTotpMfaWidgetView.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/views/ManageTotpMfaWidgetView/ManageTotpMfaWidgetView.js +2 -2
- package/src/lib/utils/functions/clientSessionKeys/constants.cjs +0 -8
- package/src/lib/utils/functions/clientSessionKeys/constants.js +0 -4
- package/src/lib/utils/hooks/useClientSessionKeys/index.d.ts +0 -1
- package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.cjs +0 -101
- package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.d.ts +0 -4
- package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.js +0 -97
|
@@ -26,6 +26,7 @@ import '../../../client/client.js';
|
|
|
26
26
|
import '@dynamic-labs-sdk/client';
|
|
27
27
|
import '../../../config/ApiEndpoint.js';
|
|
28
28
|
import { isCookieEnabled } from '../../../client/extension/functions/isCookieEnabled/isCookieEnabled.js';
|
|
29
|
+
import { generateChainingSignature } from '../../../client/extension/functions/generateChainingSignature/generateChainingSignature.js';
|
|
29
30
|
import '@dynamic-labs/locale';
|
|
30
31
|
import { useApiBaseUrl } from '../../../store/state/dynamicContextProps/dynamicContextProps.js';
|
|
31
32
|
import '../../../store/state/primaryWalletId/primaryWalletId.js';
|
|
@@ -107,13 +108,11 @@ import { useGetMfaToken } from '../useGetMfaToken/useGetMfaToken.js';
|
|
|
107
108
|
import '../../../store/state/tokenBalances.js';
|
|
108
109
|
import '../../../store/state/multichainBalances.js';
|
|
109
110
|
import '../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
|
|
110
|
-
import { useClientSessionKeys } from '../useClientSessionKeys/useClientSessionKeys.js';
|
|
111
111
|
|
|
112
112
|
const useSetWalletConnectorFetchers = (walletOptions, environmentId, projectSettings) => {
|
|
113
113
|
var _a, _b, _c;
|
|
114
114
|
const apiBaseUrl = useApiBaseUrl();
|
|
115
115
|
const { registerEmbeddedWalletSessionKey, removeSessionKey } = useEmbeddedWalletSessionKeys({ environmentId, projectSettings });
|
|
116
|
-
const { getSignedSessionId } = useClientSessionKeys();
|
|
117
116
|
const getMfaToken = useGetMfaToken();
|
|
118
117
|
const isCookieAuthEnabled = projectSettings && isCookieEnabled();
|
|
119
118
|
const svmGasSponsorshipEnabled = (_c = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.svmGasSponsorshipEnabled) !== null && _c !== void 0 ? _c : false;
|
|
@@ -133,7 +132,7 @@ const useSetWalletConnectorFetchers = (walletOptions, environmentId, projectSett
|
|
|
133
132
|
authMode: isCookieAuthEnabled ? 'cookie' : 'header',
|
|
134
133
|
environmentId,
|
|
135
134
|
getMfaToken,
|
|
136
|
-
getSignedSessionId,
|
|
135
|
+
getSignedSessionId: generateChainingSignature,
|
|
137
136
|
getSvmGasSponsorshipEnabled: () => svmGasSponsorshipEnabledRef.current,
|
|
138
137
|
relayUrl: (_e = (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.waas) === null || _d === void 0 ? void 0 : _d.relayUrl) !== null && _e !== void 0 ? _e : '',
|
|
139
138
|
walletConnector: walletOption.walletConnector,
|
|
@@ -6,34 +6,34 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var client = require('@dynamic-labs-sdk/client');
|
|
9
|
-
require('
|
|
10
|
-
require('
|
|
11
|
-
require('@dynamic-labs/utils');
|
|
12
|
-
require('@dynamic-labs/multi-wallet');
|
|
13
|
-
require('../../../shared/logger.cjs');
|
|
14
|
-
require('react-international-phone');
|
|
15
|
-
require('../../constants/colors.cjs');
|
|
9
|
+
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
10
|
+
require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
|
|
16
11
|
require('@dynamic-labs/iconic');
|
|
17
12
|
require('@dynamic-labs/wallet-connector-core');
|
|
18
13
|
require('react/jsx-runtime');
|
|
19
14
|
require('../../../context/ViewContext/ViewContext.cjs');
|
|
15
|
+
require('../../../shared/logger.cjs');
|
|
20
16
|
require('@dynamic-labs/wallet-book');
|
|
17
|
+
require('@dynamic-labs/utils');
|
|
18
|
+
require('../../constants/colors.cjs');
|
|
19
|
+
require('../../constants/values.cjs');
|
|
20
|
+
require('@dynamic-labs/sdk-api-core');
|
|
21
21
|
require('../../../shared/consts/index.cjs');
|
|
22
|
+
require('../../../events/dynamicEvents.cjs');
|
|
23
|
+
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
24
|
+
require('../../../context/ErrorContext/ErrorContext.cjs');
|
|
25
|
+
require('@dynamic-labs/multi-wallet');
|
|
26
|
+
require('react-international-phone');
|
|
22
27
|
require('../../../store/state/nonce/nonce.cjs');
|
|
23
28
|
require('@dynamic-labs-sdk/client/core');
|
|
24
29
|
require('../../../client/client.cjs');
|
|
25
30
|
require('../../../config/ApiEndpoint.cjs');
|
|
26
|
-
require('../../../
|
|
31
|
+
var generateSessionKeys = require('../../../client/extension/functions/generateSessionKeys/generateSessionKeys.cjs');
|
|
27
32
|
require('@dynamic-labs/locale');
|
|
28
33
|
require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
|
|
29
34
|
require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
|
|
30
35
|
require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
|
|
31
|
-
var getClientSessionKeys = require('../../functions/clientSessionKeys/getClientSessionKeys.cjs');
|
|
32
36
|
require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
|
|
33
|
-
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
34
|
-
require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
|
|
35
|
-
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
36
|
-
require('../../../context/ErrorContext/ErrorContext.cjs');
|
|
37
37
|
require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
38
38
|
require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
39
39
|
require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
@@ -132,7 +132,7 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
|
|
|
132
132
|
const useSignInWithPasskey = ({ relatedOriginRpId, } = {}) => {
|
|
133
133
|
const { setCallback } = useInternalDynamicContext.useInternalDynamicContext();
|
|
134
134
|
return React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
135
|
-
yield
|
|
135
|
+
yield generateSessionKeys.generateSessionKeys();
|
|
136
136
|
const response = yield client.signInWithPasskey({ relatedOriginRpId });
|
|
137
137
|
setCallback('authSuccess');
|
|
138
138
|
return response;
|
|
@@ -2,34 +2,34 @@
|
|
|
2
2
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
4
|
import { signInWithPasskey } from '@dynamic-labs-sdk/client';
|
|
5
|
-
import '
|
|
6
|
-
import '
|
|
7
|
-
import '@dynamic-labs/utils';
|
|
8
|
-
import '@dynamic-labs/multi-wallet';
|
|
9
|
-
import '../../../shared/logger.js';
|
|
10
|
-
import 'react-international-phone';
|
|
11
|
-
import '../../constants/colors.js';
|
|
5
|
+
import '../../../context/DynamicContext/DynamicContext.js';
|
|
6
|
+
import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
|
|
12
7
|
import '@dynamic-labs/iconic';
|
|
13
8
|
import '@dynamic-labs/wallet-connector-core';
|
|
14
9
|
import 'react/jsx-runtime';
|
|
15
10
|
import '../../../context/ViewContext/ViewContext.js';
|
|
11
|
+
import '../../../shared/logger.js';
|
|
16
12
|
import '@dynamic-labs/wallet-book';
|
|
13
|
+
import '@dynamic-labs/utils';
|
|
14
|
+
import '../../constants/colors.js';
|
|
15
|
+
import '../../constants/values.js';
|
|
16
|
+
import '@dynamic-labs/sdk-api-core';
|
|
17
17
|
import '../../../shared/consts/index.js';
|
|
18
|
+
import '../../../events/dynamicEvents.js';
|
|
19
|
+
import '../../../context/CaptchaContext/CaptchaContext.js';
|
|
20
|
+
import '../../../context/ErrorContext/ErrorContext.js';
|
|
21
|
+
import '@dynamic-labs/multi-wallet';
|
|
22
|
+
import 'react-international-phone';
|
|
18
23
|
import '../../../store/state/nonce/nonce.js';
|
|
19
24
|
import '@dynamic-labs-sdk/client/core';
|
|
20
25
|
import '../../../client/client.js';
|
|
21
26
|
import '../../../config/ApiEndpoint.js';
|
|
22
|
-
import '../../../
|
|
27
|
+
import { generateSessionKeys } from '../../../client/extension/functions/generateSessionKeys/generateSessionKeys.js';
|
|
23
28
|
import '@dynamic-labs/locale';
|
|
24
29
|
import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
|
|
25
30
|
import '../../../store/state/primaryWalletId/primaryWalletId.js';
|
|
26
31
|
import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
|
|
27
|
-
import { generateClientSessionKeys } from '../../functions/clientSessionKeys/getClientSessionKeys.js';
|
|
28
32
|
import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
|
|
29
|
-
import '../../../context/DynamicContext/DynamicContext.js';
|
|
30
|
-
import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
|
|
31
|
-
import '../../../context/CaptchaContext/CaptchaContext.js';
|
|
32
|
-
import '../../../context/ErrorContext/ErrorContext.js';
|
|
33
33
|
import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
34
34
|
import '../../../context/AccountExistsContext/AccountExistsContext.js';
|
|
35
35
|
import '../../../context/UserWalletsContext/UserWalletsContext.js';
|
|
@@ -128,7 +128,7 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
|
|
|
128
128
|
const useSignInWithPasskey = ({ relatedOriginRpId, } = {}) => {
|
|
129
129
|
const { setCallback } = useInternalDynamicContext();
|
|
130
130
|
return useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
131
|
-
yield
|
|
131
|
+
yield generateSessionKeys();
|
|
132
132
|
const response = yield signInWithPasskey({ relatedOriginRpId });
|
|
133
133
|
setCallback('authSuccess');
|
|
134
134
|
return response;
|
|
@@ -35,12 +35,12 @@ var randomString = require('../../functions/randomString/randomString.cjs');
|
|
|
35
35
|
require('@dynamic-labs-sdk/client/core');
|
|
36
36
|
require('@dynamic-labs-sdk/client');
|
|
37
37
|
require('../../../config/ApiEndpoint.cjs');
|
|
38
|
+
var generateSessionKeys = require('../../../client/extension/functions/generateSessionKeys/generateSessionKeys.cjs');
|
|
38
39
|
var oauth = require('../../../data/api/oauth/oauth.cjs');
|
|
39
40
|
require('@dynamic-labs/locale');
|
|
40
41
|
require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
|
|
41
42
|
require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
|
|
42
43
|
require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
|
|
43
|
-
var getClientSessionKeys = require('../../functions/clientSessionKeys/getClientSessionKeys.cjs');
|
|
44
44
|
require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
|
|
45
45
|
require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
46
46
|
require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
@@ -232,7 +232,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
|
|
|
232
232
|
}));
|
|
233
233
|
}
|
|
234
234
|
if (authMode === 'signin') {
|
|
235
|
-
yield
|
|
235
|
+
yield generateSessionKeys.generateSessionKeys();
|
|
236
236
|
if (provider === sdkApiCore.ProviderEnum.Telegram && telegramAuthToken) {
|
|
237
237
|
const apiCall = () => oauth.telegramSignIn(environmentId, {
|
|
238
238
|
captchaToken,
|
|
@@ -357,7 +357,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
|
|
|
357
357
|
const keypair = yield generateSessionKey();
|
|
358
358
|
sessionPublicKey = keypair.publicKey;
|
|
359
359
|
}
|
|
360
|
-
yield
|
|
360
|
+
yield generateSessionKeys.generateSessionKeys();
|
|
361
361
|
const apiCall = () => oauth.farcasterSignIn(environmentId, {
|
|
362
362
|
address,
|
|
363
363
|
captchaToken,
|
|
@@ -31,12 +31,12 @@ import { randomString } from '../../functions/randomString/randomString.js';
|
|
|
31
31
|
import '@dynamic-labs-sdk/client/core';
|
|
32
32
|
import '@dynamic-labs-sdk/client';
|
|
33
33
|
import '../../../config/ApiEndpoint.js';
|
|
34
|
+
import { generateSessionKeys } from '../../../client/extension/functions/generateSessionKeys/generateSessionKeys.js';
|
|
34
35
|
import { telegramSignIn, signInOAuth, verifyOAuth, telegramVerify, getOAuthResult, initAuth, farcasterSignIn, farcasterVerify } from '../../../data/api/oauth/oauth.js';
|
|
35
36
|
import '@dynamic-labs/locale';
|
|
36
37
|
import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
|
|
37
38
|
import '../../../store/state/primaryWalletId/primaryWalletId.js';
|
|
38
39
|
import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
|
|
39
|
-
import { generateClientSessionKeys } from '../../functions/clientSessionKeys/getClientSessionKeys.js';
|
|
40
40
|
import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
|
|
41
41
|
import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
42
42
|
import '../../../context/AccountExistsContext/AccountExistsContext.js';
|
|
@@ -228,7 +228,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
|
|
|
228
228
|
}));
|
|
229
229
|
}
|
|
230
230
|
if (authMode === 'signin') {
|
|
231
|
-
yield
|
|
231
|
+
yield generateSessionKeys();
|
|
232
232
|
if (provider === ProviderEnum.Telegram && telegramAuthToken) {
|
|
233
233
|
const apiCall = () => telegramSignIn(environmentId, {
|
|
234
234
|
captchaToken,
|
|
@@ -353,7 +353,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
|
|
|
353
353
|
const keypair = yield generateSessionKey();
|
|
354
354
|
sessionPublicKey = keypair.publicKey;
|
|
355
355
|
}
|
|
356
|
-
yield
|
|
356
|
+
yield generateSessionKeys();
|
|
357
357
|
const apiCall = () => farcasterSignIn(environmentId, {
|
|
358
358
|
address,
|
|
359
359
|
captchaToken,
|
|
@@ -3,34 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
+
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
6
7
|
var React = require('react');
|
|
7
|
-
var
|
|
8
|
-
require('@dynamic-labs-sdk/client/core');
|
|
9
|
-
require('../../../client/client.cjs');
|
|
10
|
-
require('@dynamic-labs-sdk/client');
|
|
11
|
-
require('../../../config/ApiEndpoint.cjs');
|
|
12
|
-
require('@dynamic-labs/iconic');
|
|
13
|
-
require('@dynamic-labs/wallet-connector-core');
|
|
14
|
-
require('react/jsx-runtime');
|
|
15
|
-
require('../../../context/ViewContext/ViewContext.cjs');
|
|
16
|
-
require('../../../shared/logger.cjs');
|
|
17
|
-
require('@dynamic-labs/wallet-book');
|
|
18
|
-
require('@dynamic-labs/utils');
|
|
19
|
-
require('../../constants/colors.cjs');
|
|
20
|
-
require('../../constants/values.cjs');
|
|
21
|
-
require('../../../shared/consts/index.cjs');
|
|
22
|
-
require('../../../../../_virtual/_tslib.cjs');
|
|
23
|
-
require('@dynamic-labs/multi-wallet');
|
|
24
|
-
require('react-international-phone');
|
|
25
|
-
require('../../../store/state/nonce/nonce.cjs');
|
|
26
|
-
require('@dynamic-labs/locale');
|
|
27
|
-
require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
|
|
28
|
-
require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
|
|
29
|
-
require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
|
|
30
|
-
require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
|
|
31
|
-
require('../../../events/dynamicEvents.cjs');
|
|
32
|
-
var getProjectSettings = require('../../../client/extension/projectSettings/getProjectSettings/getProjectSettings.cjs');
|
|
33
|
-
var hasElevatedAccessToken = require('../../../client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.cjs');
|
|
8
|
+
var client = require('@dynamic-labs-sdk/client');
|
|
34
9
|
var useStepUpState = require('./useStepUpState.cjs');
|
|
35
10
|
var useStepUpOtp = require('./useStepUpOtp.cjs');
|
|
36
11
|
var useStepUpSocial = require('./useStepUpSocial.cjs');
|
|
@@ -40,8 +15,6 @@ var useStepUpPromptMfa = require('./useStepUpPromptMfa.cjs');
|
|
|
40
15
|
var useStepUpPromptReauth = require('./useStepUpPromptReauth.cjs');
|
|
41
16
|
var usePromptStepUpAuth = require('./usePromptStepUpAuth.cjs');
|
|
42
17
|
|
|
43
|
-
// MinSdkVersionEnum values are formatted as "v<number>" (e.g. "v4", "v5")
|
|
44
|
-
const parseSdkVersionNum = (version) => parseInt(version.replace(/\D/g, ''), 10);
|
|
45
18
|
/**
|
|
46
19
|
* Perform step-up authentication for an already-authenticated user.
|
|
47
20
|
*
|
|
@@ -94,20 +67,23 @@ const useStepUpAuthentication = ({ credentialId, } = {}) => {
|
|
|
94
67
|
const { promptMfa } = useStepUpPromptMfa.useStepUpPromptMfa();
|
|
95
68
|
const { promptReauthenticate } = useStepUpPromptReauth.useStepUpPromptReauth();
|
|
96
69
|
const { promptStepUpAuth } = usePromptStepUpAuth.usePromptStepUpAuth();
|
|
97
|
-
const isStepUpRequired = React.useCallback(({ scope })
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
70
|
+
const isStepUpRequired = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ scope }) {
|
|
71
|
+
try {
|
|
72
|
+
const { isRequired } = yield client.checkStepUpAuth({ scope });
|
|
73
|
+
return isRequired;
|
|
74
|
+
}
|
|
75
|
+
catch (_b) {
|
|
76
|
+
// Default to required on failure — matches checkStepUpAuth's
|
|
77
|
+
// own fail-safe, but guards against unexpected rejections
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
}), []);
|
|
106
81
|
const resetState = React.useCallback(() => {
|
|
107
82
|
resetOtpRef();
|
|
108
83
|
stateActions.resetState();
|
|
109
84
|
}, [resetOtpRef, stateActions.resetState]);
|
|
110
85
|
return {
|
|
86
|
+
checkStepUpAuth: client.checkStepUpAuth,
|
|
111
87
|
isStepUpRequired,
|
|
112
88
|
promptMfa,
|
|
113
89
|
promptReauthenticate,
|
|
@@ -1,32 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
|
+
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
2
3
|
import { useCallback } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import '@dynamic-labs-sdk/client/core';
|
|
5
|
-
import '../../../client/client.js';
|
|
6
|
-
import '@dynamic-labs-sdk/client';
|
|
7
|
-
import '../../../config/ApiEndpoint.js';
|
|
8
|
-
import '@dynamic-labs/iconic';
|
|
9
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
10
|
-
import 'react/jsx-runtime';
|
|
11
|
-
import '../../../context/ViewContext/ViewContext.js';
|
|
12
|
-
import '../../../shared/logger.js';
|
|
13
|
-
import '@dynamic-labs/wallet-book';
|
|
14
|
-
import '@dynamic-labs/utils';
|
|
15
|
-
import '../../constants/colors.js';
|
|
16
|
-
import '../../constants/values.js';
|
|
17
|
-
import '../../../shared/consts/index.js';
|
|
18
|
-
import '../../../../../_virtual/_tslib.js';
|
|
19
|
-
import '@dynamic-labs/multi-wallet';
|
|
20
|
-
import 'react-international-phone';
|
|
21
|
-
import '../../../store/state/nonce/nonce.js';
|
|
22
|
-
import '@dynamic-labs/locale';
|
|
23
|
-
import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
|
|
24
|
-
import '../../../store/state/primaryWalletId/primaryWalletId.js';
|
|
25
|
-
import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
|
|
26
|
-
import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
|
|
27
|
-
import '../../../events/dynamicEvents.js';
|
|
28
|
-
import { getProjectSettings } from '../../../client/extension/projectSettings/getProjectSettings/getProjectSettings.js';
|
|
29
|
-
import { hasElevatedAccessToken } from '../../../client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.js';
|
|
4
|
+
import { checkStepUpAuth } from '@dynamic-labs-sdk/client';
|
|
30
5
|
import { useStepUpState } from './useStepUpState.js';
|
|
31
6
|
import { useStepUpOtp } from './useStepUpOtp.js';
|
|
32
7
|
import { useStepUpSocial } from './useStepUpSocial.js';
|
|
@@ -36,8 +11,6 @@ import { useStepUpPromptMfa } from './useStepUpPromptMfa.js';
|
|
|
36
11
|
import { useStepUpPromptReauth } from './useStepUpPromptReauth.js';
|
|
37
12
|
import { usePromptStepUpAuth } from './usePromptStepUpAuth.js';
|
|
38
13
|
|
|
39
|
-
// MinSdkVersionEnum values are formatted as "v<number>" (e.g. "v4", "v5")
|
|
40
|
-
const parseSdkVersionNum = (version) => parseInt(version.replace(/\D/g, ''), 10);
|
|
41
14
|
/**
|
|
42
15
|
* Perform step-up authentication for an already-authenticated user.
|
|
43
16
|
*
|
|
@@ -90,20 +63,23 @@ const useStepUpAuthentication = ({ credentialId, } = {}) => {
|
|
|
90
63
|
const { promptMfa } = useStepUpPromptMfa();
|
|
91
64
|
const { promptReauthenticate } = useStepUpPromptReauth();
|
|
92
65
|
const { promptStepUpAuth } = usePromptStepUpAuth();
|
|
93
|
-
const isStepUpRequired = useCallback(({ scope })
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
66
|
+
const isStepUpRequired = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ scope }) {
|
|
67
|
+
try {
|
|
68
|
+
const { isRequired } = yield checkStepUpAuth({ scope });
|
|
69
|
+
return isRequired;
|
|
70
|
+
}
|
|
71
|
+
catch (_b) {
|
|
72
|
+
// Default to required on failure — matches checkStepUpAuth's
|
|
73
|
+
// own fail-safe, but guards against unexpected rejections
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
}), []);
|
|
102
77
|
const resetState = useCallback(() => {
|
|
103
78
|
resetOtpRef();
|
|
104
79
|
stateActions.resetState();
|
|
105
80
|
}, [resetOtpRef, stateActions.resetState]);
|
|
106
81
|
return {
|
|
82
|
+
checkStepUpAuth,
|
|
107
83
|
isStepUpRequired,
|
|
108
84
|
promptMfa,
|
|
109
85
|
promptReauthenticate,
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import type { OTPVerification } from '@dynamic-labs-sdk/client';
|
|
1
|
+
import type { checkStepUpAuth, OTPVerification } from '@dynamic-labs-sdk/client';
|
|
2
2
|
import type { ProviderEnum, TokenScope, VerifyResponse } from '@dynamic-labs/sdk-api-core';
|
|
3
3
|
export type StepUpAuthenticationState = {
|
|
4
4
|
error: string | null;
|
|
5
5
|
isLoading: boolean;
|
|
6
6
|
otpVerification: OTPVerification | null;
|
|
7
7
|
};
|
|
8
|
+
export type SendOtpParams = {
|
|
9
|
+
credentialId?: string;
|
|
10
|
+
};
|
|
8
11
|
export type VerifyOtpParams = {
|
|
9
12
|
requestedScopes?: TokenScope[];
|
|
10
13
|
verificationToken: string;
|
|
11
14
|
};
|
|
12
15
|
export type VerifyWalletParams = {
|
|
13
16
|
requestedScopes?: TokenScope[];
|
|
17
|
+
walletId?: string;
|
|
14
18
|
};
|
|
15
19
|
export type VerifyPasskeyMfaParams = {
|
|
16
20
|
requestedScopes?: TokenScope[];
|
|
@@ -47,12 +51,13 @@ export type PromptStepUpAuthParams = {
|
|
|
47
51
|
requestedScopes?: TokenScope[];
|
|
48
52
|
};
|
|
49
53
|
export type UseStepUpAuthenticationReturn = {
|
|
50
|
-
|
|
54
|
+
checkStepUpAuth: typeof checkStepUpAuth;
|
|
55
|
+
isStepUpRequired: (params: IsStepUpRequiredParams) => Promise<boolean>;
|
|
51
56
|
promptMfa: (props?: PromptMfaParams) => Promise<string | undefined>;
|
|
52
57
|
promptReauthenticate: (props?: PromptReauthParams) => Promise<string | undefined>;
|
|
53
58
|
promptStepUpAuth: (props?: PromptStepUpAuthParams) => Promise<string | undefined>;
|
|
54
59
|
resetState: () => void;
|
|
55
|
-
sendOtp: () => Promise<OTPVerification | null>;
|
|
60
|
+
sendOtp: (params?: SendOtpParams) => Promise<OTPVerification | null>;
|
|
56
61
|
state: StepUpAuthenticationState;
|
|
57
62
|
verifyOtp: (params: VerifyOtpParams) => Promise<VerifyResponse | null>;
|
|
58
63
|
verifyPasskeyMfa: (params: VerifyPasskeyMfaParams) => Promise<VerifyResponse | null>;
|
|
@@ -68,13 +68,15 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
|
|
|
68
68
|
const user = useUser.useUser();
|
|
69
69
|
const { setError, setLoading, setSuccess } = stateActions;
|
|
70
70
|
const otpVerificationRef = React.useRef(null);
|
|
71
|
-
const sendOtp = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
+
const sendOtp = React.useCallback((params) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
+
var _a;
|
|
72
73
|
const credentials = user === null || user === void 0 ? void 0 : user.verifiedCredentials;
|
|
73
74
|
if (!(credentials === null || credentials === void 0 ? void 0 : credentials.length)) {
|
|
74
75
|
setError('No verified credentials found for the authenticated user');
|
|
75
76
|
return null;
|
|
76
77
|
}
|
|
77
|
-
const
|
|
78
|
+
const effectiveCredentialId = (_a = params === null || params === void 0 ? void 0 : params.credentialId) !== null && _a !== void 0 ? _a : credentialId;
|
|
79
|
+
const result = resolveTargetCredential(credentials, effectiveCredentialId);
|
|
78
80
|
if (typeof result === 'string') {
|
|
79
81
|
setError(result);
|
|
80
82
|
return null;
|
|
@@ -95,14 +97,8 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
|
|
|
95
97
|
setError(errorMessage);
|
|
96
98
|
return null;
|
|
97
99
|
}
|
|
98
|
-
}), [
|
|
99
|
-
|
|
100
|
-
setError,
|
|
101
|
-
setLoading,
|
|
102
|
-
setSuccess,
|
|
103
|
-
user === null || user === void 0 ? void 0 : user.verifiedCredentials,
|
|
104
|
-
]);
|
|
105
|
-
const verifyOtp = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ requestedScopes, verificationToken, }) {
|
|
100
|
+
}), [credentialId, setError, setLoading, setSuccess, user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
|
|
101
|
+
const verifyOtp = React.useCallback((_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ requestedScopes, verificationToken, }) {
|
|
106
102
|
const otpVerification = otpVerificationRef.current;
|
|
107
103
|
if (!otpVerification) {
|
|
108
104
|
setError('OTP verification has not been initiated. Call sendOtp() first');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { OTPVerification } from '@dynamic-labs-sdk/client';
|
|
2
2
|
import { VerifyResponse } from '@dynamic-labs/sdk-api-core';
|
|
3
|
-
import type { VerifyOtpParams } from './useStepUpAuthentication.types';
|
|
3
|
+
import type { SendOtpParams, VerifyOtpParams } from './useStepUpAuthentication.types';
|
|
4
4
|
import type { useStepUpState } from './useStepUpState';
|
|
5
5
|
type StepUpStateActions = ReturnType<typeof useStepUpState>;
|
|
6
6
|
type UseStepUpOtpParams = {
|
|
@@ -9,7 +9,7 @@ type UseStepUpOtpParams = {
|
|
|
9
9
|
};
|
|
10
10
|
export declare const useStepUpOtp: ({ credentialId, stateActions, }: UseStepUpOtpParams) => {
|
|
11
11
|
resetOtpRef: () => void;
|
|
12
|
-
sendOtp: () => Promise<OTPVerification | null>;
|
|
12
|
+
sendOtp: (params?: SendOtpParams) => Promise<OTPVerification | null>;
|
|
13
13
|
verifyOtp: ({ requestedScopes, verificationToken, }: VerifyOtpParams) => Promise<VerifyResponse | null>;
|
|
14
14
|
};
|
|
15
15
|
export {};
|
|
@@ -64,13 +64,15 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
|
|
|
64
64
|
const user = useUser();
|
|
65
65
|
const { setError, setLoading, setSuccess } = stateActions;
|
|
66
66
|
const otpVerificationRef = useRef(null);
|
|
67
|
-
const sendOtp = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
+
const sendOtp = useCallback((params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
+
var _a;
|
|
68
69
|
const credentials = user === null || user === void 0 ? void 0 : user.verifiedCredentials;
|
|
69
70
|
if (!(credentials === null || credentials === void 0 ? void 0 : credentials.length)) {
|
|
70
71
|
setError('No verified credentials found for the authenticated user');
|
|
71
72
|
return null;
|
|
72
73
|
}
|
|
73
|
-
const
|
|
74
|
+
const effectiveCredentialId = (_a = params === null || params === void 0 ? void 0 : params.credentialId) !== null && _a !== void 0 ? _a : credentialId;
|
|
75
|
+
const result = resolveTargetCredential(credentials, effectiveCredentialId);
|
|
74
76
|
if (typeof result === 'string') {
|
|
75
77
|
setError(result);
|
|
76
78
|
return null;
|
|
@@ -91,14 +93,8 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
|
|
|
91
93
|
setError(errorMessage);
|
|
92
94
|
return null;
|
|
93
95
|
}
|
|
94
|
-
}), [
|
|
95
|
-
|
|
96
|
-
setError,
|
|
97
|
-
setLoading,
|
|
98
|
-
setSuccess,
|
|
99
|
-
user === null || user === void 0 ? void 0 : user.verifiedCredentials,
|
|
100
|
-
]);
|
|
101
|
-
const verifyOtp = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ requestedScopes, verificationToken, }) {
|
|
96
|
+
}), [credentialId, setError, setLoading, setSuccess, user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
|
|
97
|
+
const verifyOtp = useCallback((_b) => __awaiter(void 0, [_b], void 0, function* ({ requestedScopes, verificationToken, }) {
|
|
102
98
|
const otpVerification = otpVerificationRef.current;
|
|
103
99
|
if (!otpVerification) {
|
|
104
100
|
setError('OTP verification has not been initiated. Call sendOtp() first');
|
|
@@ -182,7 +182,10 @@ const useStepUpPromptMfa = () => {
|
|
|
182
182
|
mfaCompletionSuccessOff();
|
|
183
183
|
dynamicEvents.dynamicEvents.off('authFlowClose', onAuthFlowCloseHandler);
|
|
184
184
|
});
|
|
185
|
-
return deferred.promise
|
|
185
|
+
return deferred.promise.then((result) => {
|
|
186
|
+
setShowAuthFlow(false);
|
|
187
|
+
return result;
|
|
188
|
+
});
|
|
186
189
|
}
|
|
187
190
|
default:
|
|
188
191
|
throw new Error('Error determining MFA method to use');
|
|
@@ -178,7 +178,10 @@ const useStepUpPromptMfa = () => {
|
|
|
178
178
|
mfaCompletionSuccessOff();
|
|
179
179
|
dynamicEvents.off('authFlowClose', onAuthFlowCloseHandler);
|
|
180
180
|
});
|
|
181
|
-
return deferred.promise
|
|
181
|
+
return deferred.promise.then((result) => {
|
|
182
|
+
setShowAuthFlow(false);
|
|
183
|
+
return result;
|
|
184
|
+
});
|
|
182
185
|
}
|
|
183
186
|
default:
|
|
184
187
|
throw new Error('Error determining MFA method to use');
|
|
@@ -193,8 +193,25 @@ const useStepUpPromptReauth = () => {
|
|
|
193
193
|
return Promise.reject(new Error('No reauthentication methods available. Add email, SMS, wallet, or a social account to your account.'));
|
|
194
194
|
}
|
|
195
195
|
const deferred = new utils.DeferredPromise();
|
|
196
|
-
|
|
197
|
-
const
|
|
196
|
+
let authFlowCleanedUp = false;
|
|
197
|
+
const cleanupAuthFlowListener = () => {
|
|
198
|
+
if (authFlowCleanedUp)
|
|
199
|
+
return;
|
|
200
|
+
authFlowCleanedUp = true;
|
|
201
|
+
dynamicEvents.dynamicEvents.off('authFlowClose', onAuthFlowClose);
|
|
202
|
+
};
|
|
203
|
+
const onAuthFlowClose = () => {
|
|
204
|
+
cleanupAuthFlowListener();
|
|
205
|
+
deferred.reject(new Error('Reauthentication flow closed'));
|
|
206
|
+
};
|
|
207
|
+
const onSuccess = () => {
|
|
208
|
+
cleanupAuthFlowListener();
|
|
209
|
+
deferred.resolve(undefined);
|
|
210
|
+
};
|
|
211
|
+
const onError = (error) => {
|
|
212
|
+
cleanupAuthFlowListener();
|
|
213
|
+
deferred.reject(error);
|
|
214
|
+
};
|
|
198
215
|
setShowAuthFlow(true);
|
|
199
216
|
if (options.length === 1) {
|
|
200
217
|
const [onlyOption] = options;
|
|
@@ -239,12 +256,11 @@ const useStepUpPromptReauth = () => {
|
|
|
239
256
|
requestedScopes: props === null || props === void 0 ? void 0 : props.requestedScopes,
|
|
240
257
|
});
|
|
241
258
|
}
|
|
242
|
-
const onAuthFlowClose = () => deferred.reject(new Error('Reauthentication flow closed'));
|
|
243
259
|
dynamicEvents.dynamicEvents.on('authFlowClose', onAuthFlowClose);
|
|
244
|
-
deferred.promise.
|
|
245
|
-
|
|
260
|
+
return deferred.promise.then((result) => {
|
|
261
|
+
setShowAuthFlow(false);
|
|
262
|
+
return result;
|
|
246
263
|
});
|
|
247
|
-
return deferred.promise;
|
|
248
264
|
}), [options, pushView, setShowAuthFlow]);
|
|
249
265
|
return { promptReauthenticate };
|
|
250
266
|
};
|
|
@@ -189,8 +189,25 @@ const useStepUpPromptReauth = () => {
|
|
|
189
189
|
return Promise.reject(new Error('No reauthentication methods available. Add email, SMS, wallet, or a social account to your account.'));
|
|
190
190
|
}
|
|
191
191
|
const deferred = new DeferredPromise();
|
|
192
|
-
|
|
193
|
-
const
|
|
192
|
+
let authFlowCleanedUp = false;
|
|
193
|
+
const cleanupAuthFlowListener = () => {
|
|
194
|
+
if (authFlowCleanedUp)
|
|
195
|
+
return;
|
|
196
|
+
authFlowCleanedUp = true;
|
|
197
|
+
dynamicEvents.off('authFlowClose', onAuthFlowClose);
|
|
198
|
+
};
|
|
199
|
+
const onAuthFlowClose = () => {
|
|
200
|
+
cleanupAuthFlowListener();
|
|
201
|
+
deferred.reject(new Error('Reauthentication flow closed'));
|
|
202
|
+
};
|
|
203
|
+
const onSuccess = () => {
|
|
204
|
+
cleanupAuthFlowListener();
|
|
205
|
+
deferred.resolve(undefined);
|
|
206
|
+
};
|
|
207
|
+
const onError = (error) => {
|
|
208
|
+
cleanupAuthFlowListener();
|
|
209
|
+
deferred.reject(error);
|
|
210
|
+
};
|
|
194
211
|
setShowAuthFlow(true);
|
|
195
212
|
if (options.length === 1) {
|
|
196
213
|
const [onlyOption] = options;
|
|
@@ -235,12 +252,11 @@ const useStepUpPromptReauth = () => {
|
|
|
235
252
|
requestedScopes: props === null || props === void 0 ? void 0 : props.requestedScopes,
|
|
236
253
|
});
|
|
237
254
|
}
|
|
238
|
-
const onAuthFlowClose = () => deferred.reject(new Error('Reauthentication flow closed'));
|
|
239
255
|
dynamicEvents.on('authFlowClose', onAuthFlowClose);
|
|
240
|
-
deferred.promise.
|
|
241
|
-
|
|
256
|
+
return deferred.promise.then((result) => {
|
|
257
|
+
setShowAuthFlow(false);
|
|
258
|
+
return result;
|
|
242
259
|
});
|
|
243
|
-
return deferred.promise;
|
|
244
260
|
}), [options, pushView, setShowAuthFlow]);
|
|
245
261
|
return { promptReauthenticate };
|
|
246
262
|
};
|
|
@@ -115,11 +115,17 @@ const useStepUpWallet = ({ credentialId, stateActions, }) => {
|
|
|
115
115
|
const connectAndSign = useConnectAndSign.useConnectAndSign();
|
|
116
116
|
const { userWallets } = UserWalletsContext.useInternalUserWallets();
|
|
117
117
|
const { setError, setLoading, setSuccess } = stateActions;
|
|
118
|
-
const verifyWallet = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ requestedScopes }) {
|
|
118
|
+
const verifyWallet = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ requestedScopes, walletId, }) {
|
|
119
119
|
setLoading();
|
|
120
|
-
const
|
|
120
|
+
const effectiveId = walletId !== null && walletId !== void 0 ? walletId : credentialId;
|
|
121
|
+
const wallet = effectiveId
|
|
122
|
+
? userWallets.find((w) => w.id === effectiveId)
|
|
123
|
+
: userWallets[0];
|
|
121
124
|
if (!wallet) {
|
|
122
|
-
|
|
125
|
+
const message = effectiveId
|
|
126
|
+
? `Wallet with id "${effectiveId}" not found`
|
|
127
|
+
: 'No connected wallets found for step-up authentication';
|
|
128
|
+
setError(message);
|
|
123
129
|
return;
|
|
124
130
|
}
|
|
125
131
|
const connector = wallet.connector;
|