@metamask-previews/seedless-onboarding-controller 7.1.0-preview-40468f94 → 7.1.0-preview-77d255e6a
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/dist/SeedlessOnboardingController.cjs +22 -31
- package/dist/SeedlessOnboardingController.cjs.map +1 -1
- package/dist/SeedlessOnboardingController.d.cts.map +1 -1
- package/dist/SeedlessOnboardingController.d.mts.map +1 -1
- package/dist/SeedlessOnboardingController.mjs +22 -31
- package/dist/SeedlessOnboardingController.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _SeedlessOnboardingController_instances, _SeedlessOnboardingController_vaultEncryptor, _SeedlessOnboardingController_controllerOperationMutex, _SeedlessOnboardingController_vaultOperationMutex, _SeedlessOnboardingController_refreshJWTToken, _SeedlessOnboardingController_revokeRefreshToken, _SeedlessOnboardingController_renewRefreshToken, _SeedlessOnboardingController_passwordOutdatedCacheTTL, _SeedlessOnboardingController_isUnlocked, _SeedlessOnboardingController_cachedDecryptedVaultData, _SeedlessOnboardingController_submitGlobalPassword, _SeedlessOnboardingController_setUnlocked, _SeedlessOnboardingController_persistOprfKey, _SeedlessOnboardingController_persistAuthPubKey, _SeedlessOnboardingController_storeKeyringEncryptionKey, _SeedlessOnboardingController_loadKeyringEncryptionKey, _SeedlessOnboardingController_loadSeedlessEncryptionKey, _SeedlessOnboardingController_recoverAuthPubKey, _SeedlessOnboardingController_recoverEncKey, _SeedlessOnboardingController_fetchAllSecretDataFromMetadataStore, _SeedlessOnboardingController_changeEncryptionKey, _SeedlessOnboardingController_encryptAndStoreSecretData, _SeedlessOnboardingController_unlockVaultAndGetVaultData, _SeedlessOnboardingController_decryptAndParseVaultData, _SeedlessOnboardingController_withPersistedSecretMetadataBackupsState, _SeedlessOnboardingController_filterDupesAndUpdateSocialBackupsMetadata, _SeedlessOnboardingController_createNewVaultWithAuthData, _SeedlessOnboardingController_updateVault, _SeedlessOnboardingController_getAccessTokenAndRevokeToken, _SeedlessOnboardingController_withControllerLock, _SeedlessOnboardingController_withVaultLock, _SeedlessOnboardingController_parseVaultData, _SeedlessOnboardingController_assertIsUnlocked, _SeedlessOnboardingController_assertIsAuthenticatedUser, _SeedlessOnboardingController_assertPasswordInSync, _SeedlessOnboardingController_resetPasswordOutdatedCache, _SeedlessOnboardingController_addRefreshTokenToRevokeList, _SeedlessOnboardingController_isAuthTokenError, _SeedlessOnboardingController_isMaxKeyChainLengthError, _SeedlessOnboardingController_executeWithTokenRefresh, _SeedlessOnboardingController_updateVaultAfterAuthTokenRefresh, _SeedlessOnboardingController_checkTokensExpired;
|
|
13
|
+
var _SeedlessOnboardingController_instances, _SeedlessOnboardingController_vaultEncryptor, _SeedlessOnboardingController_controllerOperationMutex, _SeedlessOnboardingController_vaultOperationMutex, _SeedlessOnboardingController_refreshJWTToken, _SeedlessOnboardingController_revokeRefreshToken, _SeedlessOnboardingController_renewRefreshToken, _SeedlessOnboardingController_passwordOutdatedCacheTTL, _SeedlessOnboardingController_isUnlocked, _SeedlessOnboardingController_cachedDecryptedVaultData, _SeedlessOnboardingController_submitGlobalPassword, _SeedlessOnboardingController_setUnlocked, _SeedlessOnboardingController_pickLatestAccessToken, _SeedlessOnboardingController_persistOprfKey, _SeedlessOnboardingController_persistAuthPubKey, _SeedlessOnboardingController_storeKeyringEncryptionKey, _SeedlessOnboardingController_loadKeyringEncryptionKey, _SeedlessOnboardingController_loadSeedlessEncryptionKey, _SeedlessOnboardingController_recoverAuthPubKey, _SeedlessOnboardingController_recoverEncKey, _SeedlessOnboardingController_fetchAllSecretDataFromMetadataStore, _SeedlessOnboardingController_changeEncryptionKey, _SeedlessOnboardingController_encryptAndStoreSecretData, _SeedlessOnboardingController_unlockVaultAndGetVaultData, _SeedlessOnboardingController_decryptAndParseVaultData, _SeedlessOnboardingController_withPersistedSecretMetadataBackupsState, _SeedlessOnboardingController_filterDupesAndUpdateSocialBackupsMetadata, _SeedlessOnboardingController_createNewVaultWithAuthData, _SeedlessOnboardingController_updateVault, _SeedlessOnboardingController_getAccessTokenAndRevokeToken, _SeedlessOnboardingController_withControllerLock, _SeedlessOnboardingController_withVaultLock, _SeedlessOnboardingController_parseVaultData, _SeedlessOnboardingController_assertIsUnlocked, _SeedlessOnboardingController_assertIsAuthenticatedUser, _SeedlessOnboardingController_assertPasswordInSync, _SeedlessOnboardingController_resetPasswordOutdatedCache, _SeedlessOnboardingController_addRefreshTokenToRevokeList, _SeedlessOnboardingController_isAuthTokenError, _SeedlessOnboardingController_isMaxKeyChainLengthError, _SeedlessOnboardingController_executeWithTokenRefresh, _SeedlessOnboardingController_updateVaultAfterAuthTokenRefresh, _SeedlessOnboardingController_checkTokensExpired;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.SeedlessOnboardingController = exports.getInitialSeedlessOnboardingControllerStateWithDefaults = void 0;
|
|
16
16
|
const auth_network_utils_1 = require("@metamask/auth-network-utils");
|
|
@@ -569,22 +569,12 @@ class SeedlessOnboardingController extends base_controller_1.BaseController {
|
|
|
569
569
|
const deserializedVaultData = await __classPrivateFieldGet(this, _SeedlessOnboardingController_instances, "m", _SeedlessOnboardingController_unlockVaultAndGetVaultData).call(this, {
|
|
570
570
|
password,
|
|
571
571
|
});
|
|
572
|
-
const
|
|
573
|
-
|
|
574
|
-
//
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
// If there was an access token in the state before unlocking, it might be the token set from the `refreshAuthTokens` method.
|
|
579
|
-
// Compare it with the access token value from decrypted vault after unlocking and take the latest access token.
|
|
580
|
-
latestAccessToken = (0, utils_3.compareAndGetLatestToken)(accessTokenBeforeUnlock, accessTokenAfterUnlock);
|
|
581
|
-
}
|
|
582
|
-
// update the state and vault with the latest access token if it's different from the current access token in the state.
|
|
583
|
-
if (latestAccessToken && latestAccessToken !== accessTokenAfterUnlock) {
|
|
584
|
-
// update the access token in the state with the latest access token if it's different from the decrypted access token after unlocking
|
|
585
|
-
this.update((state) => {
|
|
586
|
-
state.accessToken = latestAccessToken;
|
|
587
|
-
});
|
|
572
|
+
const accessTokenFromDecryptedVault = deserializedVaultData.accessToken;
|
|
573
|
+
// Pick the latest access token - the token from state might be newer (from refreshAuthTokens)
|
|
574
|
+
// than the token stored in the vault.
|
|
575
|
+
const latestAccessToken = __classPrivateFieldGet(this, _SeedlessOnboardingController_instances, "m", _SeedlessOnboardingController_pickLatestAccessToken).call(this, accessTokenBeforeUnlock, accessTokenFromDecryptedVault);
|
|
576
|
+
// update the state and vault with the latest access token `ONLY` if it's different from the current access token in the state.
|
|
577
|
+
if (latestAccessToken !== accessTokenFromDecryptedVault) {
|
|
588
578
|
const updatedVaultData = {
|
|
589
579
|
...deserializedVaultData,
|
|
590
580
|
accessToken: latestAccessToken,
|
|
@@ -994,20 +984,9 @@ async function _SeedlessOnboardingController_submitGlobalPassword({ targetAuthPu
|
|
|
994
984
|
encryptionKey: vaultKey,
|
|
995
985
|
});
|
|
996
986
|
__classPrivateFieldGet(this, _SeedlessOnboardingController_instances, "m", _SeedlessOnboardingController_setUnlocked).call(this);
|
|
997
|
-
//
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
if (accessTokenBeforeUnlock &&
|
|
1001
|
-
accessTokenFromDecryptedVault &&
|
|
1002
|
-
accessTokenBeforeUnlock !== accessTokenFromDecryptedVault) {
|
|
1003
|
-
const latestAccessToken = (0, utils_3.compareAndGetLatestToken)(accessTokenBeforeUnlock, accessTokenFromDecryptedVault);
|
|
1004
|
-
// update the access token in the state with the latest access token if it's different from the decrypted access token after unlocking
|
|
1005
|
-
// later when we call `syncLatestGlobalPassword`, the encrypted vault will be updated with the latest access token.
|
|
1006
|
-
this.update((state) => {
|
|
1007
|
-
state.accessToken = latestAccessToken;
|
|
1008
|
-
});
|
|
1009
|
-
}
|
|
1010
|
-
__classPrivateFieldGet(this, _SeedlessOnboardingController_instances, "m", _SeedlessOnboardingController_resetPasswordOutdatedCache).call(this);
|
|
987
|
+
// Pick the latest access token - the token from state might be newer (from refreshAuthTokens)
|
|
988
|
+
// than the token stored in the vault. The vault will be updated later by syncLatestGlobalPassword.
|
|
989
|
+
__classPrivateFieldGet(this, _SeedlessOnboardingController_instances, "m", _SeedlessOnboardingController_pickLatestAccessToken).call(this, accessTokenBeforeUnlock, decryptedVaultData.accessToken);
|
|
1011
990
|
}
|
|
1012
991
|
catch (error) {
|
|
1013
992
|
if (__classPrivateFieldGet(this, _SeedlessOnboardingController_instances, "m", _SeedlessOnboardingController_isAuthTokenError).call(this, error)) {
|
|
@@ -1020,6 +999,18 @@ async function _SeedlessOnboardingController_submitGlobalPassword({ targetAuthPu
|
|
|
1020
999
|
}
|
|
1021
1000
|
}, _SeedlessOnboardingController_setUnlocked = function _SeedlessOnboardingController_setUnlocked() {
|
|
1022
1001
|
__classPrivateFieldSet(this, _SeedlessOnboardingController_isUnlocked, true, "f");
|
|
1002
|
+
}, _SeedlessOnboardingController_pickLatestAccessToken = function _SeedlessOnboardingController_pickLatestAccessToken(tokenBeforeUnlock, tokenAfterUnlock) {
|
|
1003
|
+
let latestToken = tokenAfterUnlock;
|
|
1004
|
+
if (tokenBeforeUnlock &&
|
|
1005
|
+
tokenAfterUnlock &&
|
|
1006
|
+
tokenBeforeUnlock !== tokenAfterUnlock) {
|
|
1007
|
+
latestToken = (0, utils_3.compareAndGetLatestToken)(tokenBeforeUnlock, tokenAfterUnlock);
|
|
1008
|
+
// Update the access token in the state with the latest access token
|
|
1009
|
+
this.update((state) => {
|
|
1010
|
+
state.accessToken = latestToken;
|
|
1011
|
+
});
|
|
1012
|
+
}
|
|
1013
|
+
return latestToken;
|
|
1023
1014
|
}, _SeedlessOnboardingController_persistOprfKey =
|
|
1024
1015
|
/**
|
|
1025
1016
|
* Persist the encryption key for the seedless onboarding flow.
|